連載 [第3回] :
オープンソースのRPAツール「OpenRPA」でDXを体験してみよう!「Excelのセル転記」ロボットでExcelの複数行読み取り+書き込みを体験しよう
2023年6月6日(火)
第3回目の今回は、前回作成したExcelの転記ロボットで、複数行の読み取りと書き込みを行なってみます。
Excelから複数行を書き込むロボットの作成
最初に、Excelファイルを2つ準備します(図13)。
・ユーザーリスト.xlsx(データ有り)
・Excel出力.xlsx(データなし)
※「Excel出力.xlsx」には何も入力せず「空」にしておきます。
- Toolbox内の検索フォームに「assign」と入力し、図14のように「Assign」アクティビティを「Sequence」内にドラッグ&ドロップします。
- 図14で追加した「Assign」の左辺に「int_行番号」と入力します(図15)。
- 図15で入力した「int_行番号」を選択し、[Ctrl]キーを押しながら[k]キーを押下すると、図16のように変数が自動作成されます。自動作成された「int_行番号」の変数の型は「String(文字)」型ですが、この「int_行番号」変数は整数として扱いたいため、「Int32(整数)」型に変更します。
- 「int_行番号」変数のデフォルト(初期)値を設定します。図17のように「1」を入力します(半角数字)。 ここで「int_行番号」について説明します。この例では、Excelファイルから1行ずつデータを読み込んでいきたいので、x行目を読み込んだら、次は(x+1)行目を読み込んでいきます。図示すると、図18のようなイメージになります。 1行ごと読み込んでいくには、行番号に「1」を足していく必要があるため、「int_行番号」の右辺は図19のように設定(入力)します。
- 「WriteLine」アクティビティをドラッグ&ドロップします。「Text」には「int_行番号.ToString」と入力します(図20)。
- 「Sequence」が2つ存在するので、区別できるように下の方の「Sequence」を「Sequence - 各行」と変更します(図21)。
- 「int_行番号」のスコープを「Sequence - 各行」から「Sequence」に変更します(図22)。 ここで「int_行番号」変数のスコープを変更しなかった場合と変更した場合を見比べてみます。図23(左)はスコープを変更していない場合です。行番号(int_行番号)が「2」から変化していないことが分かります。一方で、右はスコープを変更した場合です。行番号(int_行番号)は、希望通り「2」→「3」→「4」→…と増えていることが分かります。
- 「Assign」アクティビティをドラッグ&ドロップします。左辺には「str_名前」と入力します(図24)。
- 図24で入力した「str_名前」を選択し、[Ctrl]キーを押しながら[k]キーを押下すると図25のように変数が自動作成されます。自動作成された「str_名前」の変数の型は「String(文字)」型でした。
- Assignアクティビティの右辺に「row(“名前”).ToString」を代入します(図26)。“名前”は読み取るExcelファイル「ユーザーリスト.xlsx」のA列の名前に該当します(図1)。
- Toolbox内の検索フォームに「write」と入力し、図27のように「Write Cell」アクティビティをドラッグ&ドロップします。その後「Select Types」を聞かれるため「String」を選択します。
- 「…」をクリックし、転記先のExcelファイル(Excel出力.xlsx)を指定します(図28)。前述のように、転記先のExcelファイルは事前に準備しておきます。
- 「Cell」と「Value」の値を設定します(図29)。「Cell」には書き込むセルの番号を記します。例えば、行番号が「2」の場合は「A2」です。「Value」にはセルに書き込む値(str_名前.ToString)を記します。
- 転記先のExcelファイルの「“A1”」セルに文字列「“名前”」を記載します。「Write Cell」アクティビティを最下部にドラッグ&ドロップし、各種設定します(図30)。「Cell」には「“A1”」、「Value」には「“名前”」と入力します。【補足】「“」は半角文字、「A」は半角英字、「1」は半角数字になります。
以上で、ロボットの作成は完了です。Save(保存)して、Play(実行)してみましょう。
おわりに
今回は「Excelの複数行読み取りと書き込み」を行うRPAロボットを作成しました。実際の業務では、複数行のExcel転記を行うことが多いので、業務改善に役立てば幸いです。
次回は「Yahoo! 路線」サイトを活用して、交通費精算を行うRPAロボットの作成について解説します。
連載バックナンバー
Think ITメルマガ会員登録受付中
Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。