Power Automate Desktop ループ

2021年3月15日

一定の条件の元、同じ処理を繰り返す方法を紹介します。

ループ

ループは用途の異なる3種類のアクションあり、場面に応じて使い分けます。

アクション説明
Loop指定の回数、繰り返します。
ループ条件指定の条件を満たす間、繰り返します。
For eachリスト・データテーブルの全行を繰り返します。

Loop

「ループ」の「Loop」をドラッグします。

パラメータを設定します。

「開始値」を1、「終了」を10、「増分」を1にすると10回繰り返します。

生成された変数(初期設定のままでLoopIndex)には、

その時のカウントが格納されます。

下のでは1(開始値)から10(終了)までのメッセージボックスが10回表示されます。

「開始値」が10、「終了」が1、「増分」が-1でも10回繰り返します。

この場合、LoopIndexは10からカウントダウンしていきます。

基本的にこのループは単純なカウントアップ・ダウンで利用し、

そこから外れる場合は他のループの方が使いやすいでしょう。

ループ条件

「ループ」の「ループ条件」をドラッグします。

Ifと同様に条件を設定します。この条件がTrueな限り繰り返します。

(終わらない無限ループにならないように注意が必要です)

For each

「ループ」の「For each」をドラッグします。

「反復処理を行う値」にリストやデータテーブルを指定します。

生成された変数(初期設定のままでCurrentItem)には、

その時の項目が格納されます。

下の例ではリスト[10,20,30,40,50]に対して繰り返しを行い、

10,20,30,40,50がメッセージボックスが表示に表示されます。(5回繰り返し)

ループのコントロール

先述の3種類のループアクションの中に設置し、

ループの流れを変えるアクションが2種類存在します。

アクション説明
次のループ後続のアクションを飛ばして、次のループに移行します。(コンティニュー)
ループを抜ける後続のアクションを飛ばして、ループを終了します。(ブレーク)

基本的には何らかの条件(IfやSwitch)を満たす場合に利用します。

動きの比較のためLoopIndex=3が条件の単純な例で紹介していますが、

実際には何らかのエラーなど、もっと複雑な条件で行うことになります。

次のループ(コンティニュー)

「ループ」の「次のループ」をドラッグします。

このループは普通であれば10回、メッセージボックスが表示されますが、

「次のループ」によりLoopIndex=1と2を表示し、

3だけ飛ばして、4から10まで表示します。

ループを抜ける(ブレーク)

「ループ」の「ループを抜ける」をドラッグします。

このループは普通であれば10回、メッセージボックスが表示されますが、

「ループを抜ける」により2回表示してから、ループを終了します。

「ループ条件」を1=1のような終わらない条件にして

「ループを抜ける」を終了条件にする方法もあります。

無限ループ発生時の対処方法

ループが終わらなくなってしまった場合は、「停止」ボタンでフローを強制停止します。

次の記事

データテーブル(二次元配列)

データテーブル(二次元配列)の使い方を紹介します。

関連記事

初心者向けの記事一覧