DAでフォルダの中にあるファイルをExcelに出力する方法
当サイトをご覧頂きありがとうございます。RPA開発者の駒井です。
新型コロナウイルスの影響で「緊急事態宣言」や「まん延防止等重点措置」の影響で
思い切ってどこかに出かけることが出来ない夏で帰省もしにくい状況ですが、
みなさんいかがお過ごしでしょうか。
私は今まで夏には旅行とかBBQとか花火大会など夏らしいことしてきましたが、
そんなことが一切出来ない状況なので、特にどこか出かけることもなく家でゆったり過ごしていました(笑)
そんなことはさておき、本題に入りましょう!
DAでフォルダ内のファイルをExcelに転記する方法をご紹介いたします。
今回の処理はExcelへの転記も含めて全てDAで行っています。
完成フローはこのようになります。
1.フォルダ内に複数のファイルを作成します。
※1つだと検証しにくいので複数のファイルを作成することをオススメ致します。
また、Typeファイルを作成しExcel.exeパスと対象のディレクトリパスをデフォルト値で作成しておいてください。
2.DS画面でDAステップを配置し、下記のように設定し、編集ボタンを押します。
①1の対象のディレクトリパスを入力値に設定する
+ > ▼ > 変数 > 変数を選択
上記手順をたどり、変数を設定します。
②デバイスを設定する
③編集ボタンを押す
4.「Openステップ」のURIに下記のように設定します。
replaceAll(対象のディレクトリパス,”\\\\”,”//”)
5.Openステップの設定が完了したら、
次にGuarded Choiceを配置します。
このガードは待機のためですので、秒数は何秒でも構いません。
6.次にDS画面に戻り、新たにDAステップを配置し、以下のように設定します。
8.「Openステップ」のURIに下記のように設定します。
replaceAll(excel.exeのパス,”\\\\”,”//”)
9.Openステップの設定が完了したら、次にGuarded Choiceを配置します。
このガードは待機のためですので、秒数は何秒でも構いません。
10.Excelが開いたら、「空白のブック」をクリックするため、以下の順に設定します。
空白のブックの上で右クリック > クリック > Left
11.DS画面に戻り、「繰り返しステップ」を配置します。
アクションステップ > ループ > 繰り返し
12.「イテレーション取得ステップ」を配置します。
※のちのDAの処理で使うことになります。
アクションステップ > ループ > イテレーション取得
13.新たにDAステップを配置し、以下の通り設定します。
①12のイテレーションを格納した変数を入力値に設定する
+ > ▼ > 変数 > 変数を選択
上記手順をたどり、変数を設定します。
②出力マッピングに取得したファイル名を格納する変数を設定する。
③デバイスを設定する
④編集ボタンを押す
14.ファイル名を抽出します。
しかし、上記のようにしてしまうと、一番上のファイル名しか取得できないので、
Componentを設定する必要があります。
Componentの設定は以下の通りです。
“一覧項目:nth-of-type(” + イテレーション変数 + “)”
このようにComponentを設定することで、ループが回るごとにファイル名を取得できます。
今回は抽出したファイル名をDSに戻す必要があるので、Returnに変数を設定します。
15.DS画面に戻り、エラー処理の設定を「ループ終了」に設定します。
これは、対象フォルダ内のファイルが全て見終えたらループ終了してロボットを止める必要があるからです。
16.新たにDAステップを配置し、以下のように設定します。
①12のイテレーションを格納した変数と14で抽出したファイル名を入力値に設定する
+ > ▼ > 変数 > 変数を選択
上記手順をたどり、変数を設定します。
②デバイスを設定する
③編集ボタンを押す
17.DA画面が開いたら、A1セル上で右クリックし、以下のように設定します。
フィールドにテキストを入力 > 変数から > ファイル名の変数
しかし、このままでは毎回のループでファイル名がA1セルにしか記入されません。
またまた登場、Componentの設定が必要になります。
Componentの設定は以下のように行います。
“Cell[Address=\”$A$”+イテレーション変数+”\”]”
これでこのDA画面の設定は終了です。
18.イテレーション取得ステップの前の矢印を右クリックして、次のループが回るように設定します。
矢印右クリック > ブランチの追加 > アクションステップ > ループ > 次へ
以上でロボットの設定は終了です。では、実行してみましょう!
今回はファイル出力や画面を閉じるなどの動作は入れてないので、もし必要であれば適宜追加してください。
ちなみに今回のこの処理はDSだけでも十分に出来ます。
今回のこの処理はDAを使用する上で必要な要素がたくさんありますので、
DAの処理がまだ慣れないなどの方に参考にしていただければ幸いです。
最後までご覧いただき誠にありがとうございました。