Skip to content

UiPathフォルダ内のファイルをまとめて処理

Posted in RPA, and UiPath

Last updated on 2020年6月7日

フォルダ内にあるファイルをまとめて処理したいにゃ

それはすこし難しいけどVB.Netメソッドと組み合わせることでできるよ

こんにちは、エピックです。

RPAで自動化を行う際、特定のフォルダ内にあるファイルをまとめて処理したいケースは非常に多いと思います。

例えば、スキャナーでスキャンしたファイルがフォルダに格納されるからそれ読み取って...とか、社内手続きのエクセル申請書が特定のフォルダにあるからそこからすべて読み取ってシステム登録とか.....意外と気が付きにくいですが社内業務のほとんどがこの繰り返し処理でできています。

そこで、この記事ではUiPathを利用してフォルダ内のファイル処理を行う方法を説明します。

少しでも参考にしていただければ幸いです。


利用するアクティビティ

フォルダ内のファイルを取得する際は、専用のアクティビティがあるわけではなく既存のアクティビティ+VB.NETという文を組み合わせる必要があります。

後者について、あまりプログラミングに精通していない方にとっては難しく考えてしまう方もいるかもしれませんが、ほとんど記述形式は決まっているので英語の構文だと思って暗記してしまえば問題有りません。

まず、既存のアクティビティですが【繰り返し(コレクションの各要素)】を使用します。

このアクティビティは、"繰り返し"となっているように、渡されたコレクション(集まり)を一つずつ取り出し繰り返し処理を実行することができます。

つまり、フォルダ内のファイル処理を行う場合は、そのフォルダ内のファイルのコレクションを渡してあげることで、それらが一つずつ取り出され繰り返し実行されるというわけです。

加えて、VB.NETの文を書く必要があるのですがそれは次のような文字列になります。

//フォルダーパスには、対象のフォルダパスを入力
// 例. Directory.GetFiles("C:/Users/epic/Desktop/testfolder")
Directory.GetFiles("フォルダーパス")

詳しい解説は、省きますが上記をコレクションに設定すればフォルダ内のファイルをすべてまとめて取得する事ができます。

また、書き方によっては「特定の拡張子のもののみ取得する」「サブフォルダ内のファイルも取得する」等設定をすることができます。

詳しく知りたい方は、Microsoftの公式サイトを参考にしてみてください。


利用方法

では具体的にどのように利用すればよいのか?

コードのみでは、イメージが沸かないかと思いますので具体的な利用方法を説明したいと思います。

手順は次の通りです。

  1. 対象のフォルダパスを【繰り返し(コレクションの各要素)】に設定する
  2. 【繰り返し(コレクションの各要素)】の【TypeArgument】をString型に設定する
  3. 【繰り返し(コレクションの各要素)】内で、要素を利用しファイルを扱う

前述で解説したとおり【繰り返し(コレクションの各要素)】のコレクションにVB.NETを利用し対象とするフォルダパスを設定します。

あわせて、プロパティパネルの【TypeArgument】をString型にしておきます。

理由としては、フォルダ内のファイルを実際のデータとして扱うのではなく、あくまでそのファイルまでのパスを共有してあげるという使い方をするため文字列のほうが都合が良いためです。

そして、取得したファイルのですが、繰り返しで行われる1ファイル1ファイルが順番に【要素】(初期値はitem) 格納されます。


次の例は、フォルダ内のファイルを取得し、そのファイルパスをメッセージボックスを利用し表示する最もシンプルな例になります。

真ん中の【繰り返し(コレクションの各要素)】アクティビティの"コレクション"と書かれた右側の枠にVB.NETの文字列を設定します。

実行をしてみます。

実行をすると、取得したファイルの絶対パスが表示されるはずです。

これは、item(※変更可能)という変数の中に取得したファイルのパスが順番に格納され、それを【メッセージボックス】に渡しているためです。

このように、ファイルパスが取得できたということはあとはこの取得できたファイルパスを別のアクティビティに渡して上げましょう。

例えば、【エクセルアプリケーションスコープ】や【ファイルを移動】、【フィルをコピー】など様々な利用用途が考えられますね。

参考程度に下記は取得したファイルパスを【ファイルを移動】アクティビティに渡して上げている例になります。

これにより特定フォルダ内のファイルをすべて別のフォルダ内に移動することができます。


まとめ

以上、ファルダ内のファイルを取得する方法についての記事でした。

既存のアクティビティのみでは対応できない部分もあり、戸惑った方もいたのではないでしょうか。

もし、ここが分からない等あればコメントへお願いします。

また、UiPathで「これどうやるの???」というご質問も歓迎です。

最後までお読みいただきありがとうございました。

では。


参考


いちばんやさしいRPAの教本

RPAの基本的な事柄が網羅的に書かれています。

詳しいことが知りたい方には物足りない内容になるかもしれませんが、RPAのことを大まかに把握したいという方には非常に良い本かと思います。

Kindle Unlimitedで実質無料で読むことができます。


UiPathアカデミー

実践あるのみという方、すでにある程度利用経験がある方はRPAベンダーであるUiPath社が提供している無料Eラーニングである UiPathアカデミー をオススメします。

2020年度にリニューアルされ更に体系的に整理されています。

UiPathは個人で利用する分には無料なので利用してみてください。

※書籍もあるようですがツールのアップデートが早いためおすすめしません


単行本(ソフトカバー): 208ページ 出版社: インプレス (2018/10/15)
単行本(ソフトカバー): 192ページ 出版社: インプレス (2019/2/7)

Be First to Comment

コメントを残す