【RPA開発Tips】ファイル操作に強くなる 前編

業務の自動化を進めていると、ファイル操作を自動化したい時があります。
そのなかで、特定フォルダー内のファイルをすべて操作したい時や、名称が毎回変わるファイルを処理したい場面はないですか?

研修などでは名称が固定されたファイルの操作を習うので難しくないと思いますが、上記のような名称が固定ではないファイルの操作は、サンプルがないので苦戦している方も多いと思います。

今回のコラムでは、名称が固定ではないファイルを操作する時の定番パターンを紹介します。
このパターンを覚えておけばさまざまな場面で活用できるので、ぜひご一読ください。

ファイル名が固定ではないファイルを処理する

ファイル操作のシナリオ構成

特定のフォルダーで以下のように名称が固定ではないファイルを操作したい時は、この後で紹介する順序でノードとライブラリーを構成すると、ほとんどのケースでうまくいきます。
ファイル操作の定番といえるほど頻出する構成なので、これを習得すれば怖いものなしです。

(1)ファイル数を取得する

はじめに、13_ファイル関連>02_ファイル操作>「ファイルリスト作成」ライブラリーでフォルダー内のファイルをテキストで出力します。
フォルダー内の各ファイルが1行ずつ記載されています。(A)
出力したファイルリストの行数を13_ファイル関連>01_テキストファイル操作>「テキストファイル行数取得」で取得して、「繰り返し」ノードの「回数」プロパティに設定します。(B)

ファイル数を取得する
(2)ファイル名を取得する

(1)でファイルリストの行数分だけ、処理を繰り返すように設定できました。
「繰り返し」ノードのなかで13_ファイル関連>01_テキストファイル操作>「テキストファイル読込(行指定)」ライブラリーを使って、ファイルリストに記載されているファイルパスを1行分取得します。(A)
処理を繰り返すごとに次のファイルを見にいくために、「カウントアップ」ノードを追加して行数が1、2、……と+1ずつ増加するように設定しています。(B)

ファイル名を取得する
(3)操作したいファイルを絞り込む

ファイル名の一部に処理対象の文字列が含まれているかを判断する場合は、条件式に「正規表現」を設定し、値に「.*(対象の文字列).*」と記載します。

※この「正規表現」の書き方を工夫するとほかのパターンでも処理できます。
詳しくはWinActorの操作マニュアル「正規表現の入力例」(p.805)をご参照ください。

操作したいファイルを絞り込む
(4)処理したファイルを移動する

処理が終わったファイルをそのままにしておくと、次回実行時に二重取り込みが起こってしまいます。処理が終わった後は、「ファイルを別フォルダーに移動する」という動作を組み込みましょう。
別フォルダーへの移動は、ライブラリー13_ファイル関連>01_テキストファイル操作>「ファイル移動」を使用することで実現できます。

※処理済みファイルを「削除」することでも二重取り込みを防止できますが、後になって処理したファイルを確認したい時もあると思います。
ファイルの処理後に再度使えるよう、基本的には「ファイル移動」がおすすめです。

処理したファイルを移動する

今回は、「名称が固定ではないファイルを開く方法」の定番パターンを紹介しました。
今回のパターンをベースに、必要に応じてノードとライブラリーを追加すれば、もっと複雑な要件でファイルを処理しなければならない場合でも、大抵のケースで対応できます。

次回は、パスワード付きファイルの開き方とつくり方を紹介します。
お楽しみに!