Power Automate Desktop|ループ条件を設定する方法

Power Automate for desktopでループ条件を設定する方法を解説します。ある条件を満たす限りループを繰り返す処理を実装できます。

この記事を書いた人
この記事を書いた人
こさい
こさい

(株)完全自動化研究所代表のこさいです。

1) エンジニア歴25年超。RPA支援8年超
2) RPA関連の書籍を6冊出版。
3)ご質問・お仕事のご依頼はこちら

ループ条件を設定する方法

ある条件を満たす限りループを繰り返す処理を実装するには、[ループ条件]アクションを使います。[ループ条件]アクションは[ループ]アクショングループ内に格納されています。[最初のオペランド]には[2番目のオペランド]と比較する変数、テキスト、数値または式を入力します。[演算子]では[2番目のオペランド]に対する[最初のオペランド]の関係を選択します。[2番目のオペランド]には[最初のオペランド]と比較する変数、テキスト、数値または式を入力します。

MEMO:オペラントとは「被演算子」

オペランドとは「被演算子」、つまり演算の対象となる変数や値のことです。例えば、「X=1」のオペラントは「X」と「1」です。[ループ条件]アクションの設定に当てはめると「X」は[最初のオペランド]で、「1」は[2番目のオペランド]になります。「=」は「演算子」と呼びます。演算子は6種類あります。

フローを作成しよう

こさい
こさい

実際にフローを作って、動作を確認しましょう!

フローを作成しよう

STEP1 [変数の設定]アクションを追加する

アクションペインの[変数]アクショングループをクリックし、[変数の設定]アクションをワークスペースに追加してください

STEP2 [変数の設定]アクションを設定する

[変数の設定]ダイアログが表示されます。[変数]の[NewVar]を[LoopIndex]に変更してください。[値]に「1」と入力してください。[保存]をクリックしてください

STEP3 [ループ条件]アクションを追加する

アクションペインの[ループ]アクショングループをクリックし、[ループ条件]アクションを[変数の選択]アクションの後に追加してください

STEP4 [ループ条件]アクションを設定する

[ループ条件]ダイアログが表示されます。[最初のオペランド]に「%LoopIndex%」と入力してください。「%LoopIndex%」は変数の選択を使うと入力間違いを防げます。[演算子]のドロップダウンリストから[以下である(<=)]を選択してください

[2番目のオペランド]に「3」と入力して、[保存]をクリックしてください

STEP5 [メッセージを表示]アクションを追加する

アクションペインの[メッセージボックス]アクショングループをクリックし、[メッセージを表示]アクションを[ループ]アクションの後に追加してください

STEP6 [メッセージを表示]アクションを設定する

[メッセージを表示]ダイアログが表示されます。[メッセージボックスのタイトル]に「ループ」と入力し、[表示するメッセージ]に「ループ数:%LoopIndex%」と入力してください。「%LoopIndex%」は変数の選択を使うと入力間違いを防げます。[保存]をクリックしてください

STEP7 [変数を大きくする]アクションを追加する

アクションペインの[変数]アクショングループをクリックし、[変数を大きくする]アクションを[メッセージを表示]アクションの後に追加してください

STEP8 [変数を大きくする]アクションを設定する

[変数を大きくする]ダイアログが表示されます。[変数名]に「%LoopIndex%」と入力してください。「%LoopIndex%」は変数の選択を使うと入力間違いを防げます。[大きくする数値]に「1」と入力して、[保存]をクリックしてください

フローの完成

フローが完成しました。

こさい
こさい

下図のようにフローが出来ていますか?

フローを実行しよう

フローを実行してください。メッセージボックスが表示されます。最初は「ループ数:1」と表示され、[OK]をクリックすると、再びメッセージボックスが表示されます。「ループ数:2」と表示されていますね。もう一度[OK]をクリックすると、3回目のメッセージボックスが表示されます。「ループ数:3」と表示されているので、[OK]をクリックしてください。

ロジックを確認しましょう。変数[LoopIndex]が1つずつカウントアップされていき、「3」を超えた段階でループ処理を抜けます。

フローが終了したら、変数ペインで変数[LoopIndex]を確認してください。「4」となっています。「LoopIndexが3以下の場合ループを続ける」という条件でしたので、「4」で抜けたわけですね。

まとめ

ループ処理は、「ループ条件」の他にも「For each」「Loop」などがあります(記事「For eachの使い方」を参照してください)。「ループ条件」は一番使う機会が少ないループ処理かもしれません。「ループする条件」をよく考えないと、永遠にループしてしまう「永久ループ(無限ループともいう)」にハマってしまうこともあり、結構扱いが難しいです。

「画面上の何かが変化するまで、30分でも待つ」といったケースもありますので、その場合に活躍するループ処理です。是非、使い方をマスターして、自動化の幅を広げてください。

コメント ログインすると書き込めます