JobAutoのExcel行ループで繰り返される範囲は?|条件分岐・end

★質問・概要

Q.JobAutoのExcel行ループで、途中に条件分岐を配置した場合、その条件分岐も行ループの回数だけ実行されますか? どこまでが繰り返しの対象ですか?

★回答

はい。Excelの行ループから、そのループに対応するendまでの繰り返し範囲に含まれるアクションは、各行を処理するたびに繰り返しの対象になります。条件分岐をその範囲に配置した場合、条件の判定も各行で行われます。

ただし、条件分岐から分かれたすべてのフローが毎回実行されるわけではありません。条件判定の結果に応じて、実際に通るフローが決まります。

1.アクションフロー

行ループの途中で値を判定し、空欄の場合に別のフローへ進む構成です。

Excel行ループと条件分岐を組み合わせたJobAutoのアクションフロー

行ループの1回目、2回目、3回目と処理が進むたびに、ループ範囲内の条件判定は再び実行されます。ただし、判定結果が異なれば、条件分岐の後に実行されるアクションも変わります。

2.繰り返しの対象になる範囲を確認する

JobAutoでは、繰り返しアクションから対応するendまでのフローが繰り返しの対象になります。ブランチによってフローが複数に分かれていても、繰り返しの範囲内にあるフローは対象です。

ロボデザインでは、繰り返しアクションを選択すると、その繰り返し範囲のフローの線が緑色で表示されます(バージョン0.10.8以降)。どのアクションが繰り返されるのか分からない場合は、この表示を確認してください。

詳しいフロー構成はアクションフローにおける繰り返し範囲の説明をご確認ください。

3.途中の行で変数が空になったら終了したい場合

行ループの途中で取得した値が空欄になったとき、以降の行を処理せず繰り返しを終了したい場合は、「変数の値を評価(繰り返し処理をやめる)」を使用します。

  1. Excelの「行の繰り返し」で、判定に使用する列の値を変数へ格納します。
  2. 行ループ内の先頭付近に、変数の値を評価するアクションを配置します。
  3. 変数が空欄である場合に「繰り返し処理をやめる」よう設定します。
  4. 値がある場合は、その行の後続処理を実行します。

この方法は、元記事のコメント欄でサポートチームが紹介した対処方法です。コメント当時は「値判定」と説明されていますが、現在の関連マニュアルでは「変数の値を評価(繰り返し処理をやめる)」という名称で案内されています。

変数の値が空の場合に繰り返し処理を終了するアクションフローの設定例(元記事のサポートコメントから)

※上の画像は2018年のサポートコメントに掲載されていた設定例です。現在の画面構成や表記と異なる場合は、関連マニュアルを参照してください。

4.ループ終了後に1回だけ処理したい場合

「行ループのすべての行を処理したあとに、Excelの保存などを1回だけ行いたい」という場合は、そのアクションを繰り返し範囲の外へ配置します。

たとえば、繰り返しアクションより前のブランチから別のフローを作成すると、そのフローのアクションは繰り返し対象に含まれません。ループ範囲内かどうかは、繰り返しアクションを選択したときの緑色の線で確認してください。

5.「繰り返しをやめる」と「次の繰り返しに移動」の違い

処理動作
繰り返し処理をやめる現在の行ループを終了し、残りの行は処理しません。
次の繰り返し処理に移動する現在の行の後続処理を飛ばし、次の行の処理へ進みます。

空欄が現れた時点でその行ループ全体を終了したい場合は、「繰り返し処理をやめる」を使用してください。一方、空欄の行だけを飛ばして次の行を処理したい場合は、「次の繰り返し処理に移動する」を使用します。


関連するマニュアル・FAQ

JobAutoのFAQ記事一覧へ戻る

2件のコメント

  1. A1

    条件分岐は使わず、繰り返しアクション「行ループ0」のすぐ後に、値判定で変数が
    空だったらハンドリングにて「繰り返し処理をやめる」
    を選択することで行ループは終了します。

    返信

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。