UiPath(StudioX)は世界でもシェア率の高いRPAソフトウェアです。
最近会社の中でもUiPathを利用するという流れになってきました。
UiPathは個人利用であれば無償で使えるそうで、自宅でも学習しながら備忘的に記事を掲載していくことにしました。
目次
今回やりたいこと
会社では人事情報を以下の画像のように、ファイル名にその日の日付を設定し、同じフォルダに格納するという運用を行っています。
このファイルの中で、一番最新のファイルを開きたいというのが今回やりたいことです。
1.繰り返し(フォルダー内の各ファイル)を設定する
1.アクティビティから繰り返し(フォルダー内の各ファイル)を設定する
以下の画像のように、アクティビティの中から、ファイル/フォルダ>ファイル>繰り返し(フォルダー内の各ファイル)をドラッグアンドドロップで画面中央に移動します。
2.フォルダパスを指定する
フォルダーのボックスの右にある+のボタンをクリックすると、オプションが表示されます。
ここでテキストを選択します。
起動した画面内でテキストを入力することができます。
ここで先ほど開いていたExcelファイルの格納されているフォルダパスを選択します。
3.フィルター条件を設定する
フィルター条件の+をクリックし、テキストを選択し、拡張子の「*.xlsx」を入力します。
ドットの前のアスタリスク(ワイルドカード)を忘れないでくださいね!
4.並び替え順を設定する
重要な並び替えの順番です!ここでは「名前(降順)」を設定します。
これで、20220120>20220101という順番で実行されていきます。
確認のためにメッセージボックスを置いてみます。
ループしている間、ファイル名やフォルダ、更新日など、ファイルに付随する情報を利用できます。
ここでは、完全名(フルパスを含む)をメッセージボックスの表示項目として利用します。
こを実行すると、以下のメッセージが表示されました。
↓次に実行された結果…
5.最初のループを判定する
4.までの手順で分かったと思いますが、最初のループで取得できるファイルパスが最新の情報となります。
つまり、最初のループで”ファイル名を保持したまま抜けること”ができれば、後続の処理でエクセルファイルを操作することもできるわけです。
では、最初のループで”抜ける”ための設定をします。
まず、条件分岐の設定をします。プログラミングで相当重要なIFというやつですね。
そして、条件で+ボタンをクリックし、条件ビルダーをクリックします。
ここでの条件は非常にシンプルです。
前述した「”完全名”がブランク(空)ではない」という条件にします。
一回目のループでは確実にファイル名が入ってくるので、完全名に情報が入ってきたら・・・という条件にすることで、間接的に1回目のループで…ということになるのです。
6.完全名を保持したままループを抜ける
ここがポイントです。ループを抜ける前に、前述の「完全名」の情報を後で使えるようにしておく必要があります。
いわゆる、スコープの類なのですが、前述している「CurrentFile」の「完全名」というのは後で使えなくなる可能性があるので、完全名を保持するというひと手間を加えてループを抜けます。
まずは、アクティビティより、「後のために保存」をドラッグします。
ちなみに、条件分岐のThenの中に処理をいれることで、フルパスが空ではない場合・・・の・・・の処理として実行することが可能です。
ということで、下の図のように、保存する値に「CurrentFile」の完全名を入力し、左に任意の文字列を入力します。
ここでは分かりやすいように「フルパス」としてみました。
次に、「繰り返しを終了」をドラッグアンドドロップします。
これで、ループを抜けることができます。
2.エクセルファイルを開く
1.「エクセルファイルを使用」を利用する
最初の手順では、利用するエクセルファイルを指定します。
アクティビティよりExcelファイルを使用 をドラッグアンドドロップしてアクティビティを追加します。
2.Excelファイルのパスを指定する
本来であれば、テキスト等で直接指定してもよいのですが、ここでは、1.の手順で取得した「フルパス」そのまま使います。
1.で後で保存するとしていなければ利用できないので、ここで使えることが証明できました。
ここまでで、最新のエクセルファイルを起動できることが分かりました。
エクセルの操作等についてはまた別の記事でご紹介します。
さいごに
さて、今回の記事では、ループや条件分岐という基本的なロジックを紹介しました。
これをエクセルファイルの動作やメールボックスなどに応用することでいろんなロボットが作成できるかと思います。
プログラミングを学ぶ前にUiPathで学ぶのもいいかもですね。
ただ、誰かに教えてもらわないと結構難易度高いかもしれません…!頑張りましょう!!
[…] 後のために保存 […]