UiPathで複数ファイルに同じ処理をする方法

By | 2018年8月19日

UiPathで複数ファイルに同じ処理をする方法

UiPathではいろいろな作業を自動化することができます。作業には1回限りのものや、
ファイルを変えて同じことをするといった繰り返し作業などいろいろなパターンがあります。

今回は上記のファイルを変えて同じことをする=複数ファイルへの同じ処理をさせる方法を紹介します。

1.1フォルダにファイルを作業対象のファイルを集める

まず作業をさせたいファイルを1フォルダの中にすべて格納しましょう
※例としてc:\testにtest1~3というEXCELファイルを入れています。

2.For Each アクティビティを追加する

For Eachアクティビティは繰り返し処理を行うためのアクティビティです。
このアクティビティは繰り返す回数をファイルの数、とすることができますので、
何回実行するかはファイルの数で自動的に変更することができます。

3.For Eachの対象として「Directory.GetFiles」メソッドを使う

.netのメソッドにはDirectory.GetFilesという、「フォルダの中のファイルすべて」を指定することのできるメソッドがあります。
UiPathはこうした.netのメソッドをそのまま利用することができますので、こちらをFor Eachの繰り返し条件として設定します。
具体的には以下のような使い方になります。

Directory.GetFiles(”フォルダの場所”)

括弧の中のフォルダの場所は文字列(String)でないといけませんので、
あらかじめ文字列を入れたString型の変数を指定するか、
“ ”でWindowsのフォルダパス(c:\test等)を記述します。
記述する場所はitem inの後にある入力欄の中になります。
※例ではDirectory.GetFiles(“C:\test”)と記載しています

4.Bodyに繰り返しさせたい処理を記載する

あとはFor Eachの中にあるBodyの中に、繰り返しさせたい処理を作りこんでいくだけです。
上記例ではitemという変数の中にフォルダの中にあるファイルのObject情報が1つずつ入っていくので、
それをメッセージボックスで表示させています。

※Object情報以外の型にしないといけない場合もあるので、
その際はプロパティのTypeArgument部分をString等、ほかの変数の型に変更させて使います。

実行すると、上記のように1ファイルごとのパスが表示できました。