Power Automate Desktop(以下、PAD)では、一般的な「条件(if)」アクション以外にも、フローを柔軟に制御するための分岐や選択肢を提供しています。それらを効果的に使うことで、フローの設計がより簡単で強力になります。
本記事では、条件分岐「if」以外の種類と、その具体的な活用方法について解説します。
目次
条件分岐if以外の種類
PADには、「if」以外にも条件分岐として活用できる以下のアクションがあります。
1. スイッチ(Switch)
特定の値に応じて複数のケースを分岐させるアクションです。
- 特長:
- 1つの変数や値を基準にして、複数の条件を簡潔に記述可能。
- 似た条件を列挙して管理するのに便利。
- 活用例:
- 曜日によって異なる処理を実行する。
- メニュー選択で異なる動作をさせる。
2. 繰り返し条件付き(Loop Condition)
指定した条件が成立する間、処理を繰り返し実行します。
- 特長:
- 条件の成立/不成立を判定しながら動作を続ける。
- 条件に応じて繰り返しの回数を動的に変えることが可能。
- 活用例:
- ファイルが存在する限り、処理を実行する。
- データリストが空になるまでアイテムを処理する。
3. 適用対象に対して(For Each)
リストやコレクションなどのデータセットに対して、順番に処理を実行します。
- 特長:
- コレクション型データを1件ずつ取り出して処理できる。
- 反復処理に特化したシンプルな設計。
- 活用例:
- Excel行ごとに処理を実行する。
- データベースの各レコードに特定の操作を適用する。
4. 条件付き待機(Wait Condition)
特定の条件が成立するまでフローの実行を一時停止します。
- 特長:
- 条件が満たされるまでフローを待機させる。
- リソースの無駄を減らす。
- 活用例:
- ユーザーの入力を待つ。
- 特定のファイルが生成されるまで待機する。
各アクションの活用方法
ここでは、これらのアクションを使った具体例を解説します。
1. スイッチを活用した例
手順:曜日に応じた処理を実行する
- フロー作成
新しいフローを作成します(例: 「曜日分岐フロー」)。 - 変数の設定
- 「変数の設定」アクションを追加。
- 変数名を
currentDayとし、値を"月曜日"に設定。
- スイッチの設定
- 「スイッチ」アクションを追加。
- 評価対象を
%currentDay%に設定。 - ケースを以下のように追加:
"月曜日"→ メッセージボックスに「今週の目標を設定しましょう!」と表示。"金曜日"→ メッセージボックスに「週末の予定を確認してください。」と表示。- デフォルト → メッセージボックスに「通常業務の日です。」と表示。
2. 繰り返し条件付きの活用例
手順:指定のファイルが存在する限りコピーを実行する
- フロー作成
新しいフローを作成します(例: 「ファイル存在確認フロー」)。 - 変数の設定
- 「変数の設定」アクションを追加。
- 変数名を
filePathとし、値をコピー対象のファイルパスに設定。
- 繰り返し条件付きの設定
- 「繰り返し条件付き」アクションを追加。
- 条件を
File.Exists("%filePath%")に設定。
- 繰り返し処理の中身
- 「ファイルのコピー」アクションを追加し、指定されたファイルを別のフォルダにコピー。
- フローの終了
- 繰り返しの条件が満たされなくなる(ファイルが削除される)と処理が終了。
3. 適用対象に対しての活用例
手順:Excel行ごとに処理を実行する
- Excelファイルを読み取る
- 「Excelワークブックを開く」アクションを使用して、対象ファイルを開く。
- 「データを読み取る」アクションで行データをコレクションに格納。
- 適用対象に対して設定
- 「適用対象に対して」アクションを追加。
- 対象コレクションを
ExcelDataに設定。
- 処理の設定
- メッセージボックスを表示し、
%CurrentItem%を出力。 - 必要に応じて、行データを別のシステムに送信。
- メッセージボックスを表示し、
4. 条件付き待機の活用例
手順:特定のファイルが生成されるまで待機
- フロー作成
新しいフローを作成します。 - 条件付き待機の設定
- 「条件付き待機」アクションを追加。
- 条件を
File.Exists("C:\\Temp\\targetFile.txt")に設定。
- 待機後の処理
- ファイル生成後、「ファイルを開く」アクションでそのファイルを開く。
よくある質問(FAQ)
Q1. スイッチとifの違いは何ですか?
- スイッチは特定の値に基づいて複数のケースを簡潔に分岐させるのに適しています。
- ifは柔軟な条件式を使用した場合分けに適しています。
Q2. 繰り返し条件付きと適用対象に対しての使い分けは?
- 繰り返し条件付きは、条件が成立している間に繰り返す処理に適しています。
- 適用対象に対しては、コレクションやリストに対して順次処理を行う場合に適しています。
Q3. 条件付き待機はどのような場面で使えば良いですか?
- 外部システムやファイルの生成など、特定の条件が満たされるまで処理を停止させる必要がある場面で使用します。
