こんにちは! にゃぶろぐです。
本記事ではPower Automate DesktopのFor Eachループの使い方について紹介します。
繰り返し操作を行う上で、重要な機能です!
「Power Automate Desktop」って何?という方は以下の記事を参照ください。
他の操作についても以下記事にまとめています。あわせてご覧ください。
For Eachループ
For Eachループの使い方
以下の使い方について紹介します。
- For Eachループに必要なリスト変数を作成
- For Eachループ
今回紹介しているのは、上記の赤枠のループに関する操作がメインです。
※一部、ファイルとフォルダ操作も含んでいます。
For Eachループに必要なリスト変数を作成
For Eachループに使用するリストを作成します。
今回はファイルリストを例にしています。
「フォルダ」→「フォルダー内のファイルを取得」を選択すると、上記のようなウインドウが起動します。
各設定の説明は以下の通りです。
項目 | 説明 |
フォルダー | フォルダ名を指定 |
ファイルフィルター | 取得するファイルの条件を指定 |
サブフォルダーを含める | サブフォルダのファイル取得有無を指定 |
生成された変数 | 取得したファイルリストを格納する変数名 |
「詳細」を開くと取得したファイルリストの並べ替え条件などの指定もできます。
上記画像は、「C:\task」内のエクセルファイルリストを取得する設定です。
Filesという変数に、「C:\task」内のエクセルのファイルパスのリストが格納されます。
For Eachループ
取得したファイルリストを用いて、For Eachループを作成します。
「For each」を選択すると、上記のようなウインドウが起動します。
各設定の説明は以下の通りです。
項目 | 説明 |
反復処理を行う値 | 取得したリストの変数を指定 |
生成された変数 | リストから抜き出した一要素を格納する変数 |
これらの設定を行うことで、リストの要素数分だけループが行われます。
設定の説明だけでは、イメージしづらいと思いますので、詳しくは以降の実装例を参照ください。
For Eachループの実装例
タスクフロー作成
フォルダに格納されているファイルの中で、エクセルファイルのみを「提出先」フォルダへ移動させるタスクフローを作成します。
作成したタスクフローの内容は以下の通りです。
No | タスクフロー名 | 内容 |
1 | フォルダー内のファイルを取得 | 「C:\task」内のファイルリストを取得(変数”Files”にファイルリストを代入) ※拡張子は”.xlsx”に限定 |
2 | For each | 取得したファイルリスト(変数”Files”)の数ループ |
3 | ファイルの移動 | ファイルリストから取得したファイル(変数”CurrentItem”)を「C:\task\提出先」へ移動 |
実際に作成したタスクフローは以下の通りです。
タスクフロー実行
作成したタスクフローを実行してみましょう。
「C:\task」内のエクセルファイルが、「C:\task\提出先」へ移動されました。
タスクフローを実行すると、変数に何が代入されているかを目視することができます。
変数”Files”に取得したファイルリストが格納されており、変数”CurrentItem”にファイルリストから抜き出されたファイルパスが格納されていることがわかりますね。
まとめ
フローを簡略化しよう!
「For Eachループ」の使い方について紹介しました。
いかがでしたでしょうか?
フロー実装例のファイル移動操作は、マウス操作のフローでも実行することは可能ですが、どうしても動作が不安定になってしまいます。
「ループ」や「リスト」を活用すると、フローが簡略化されるだけでなく、動作安定にもつながり、非常に有効です。
是非お試しください!
以上。参考になれば幸いです。
読んでいただき、ありがとうございました!
(2024/11/07 21:26:15時点 楽天市場調べ-詳細)
にほんブログ村