ループ パッケージ
- 更新日 2023/11/22
ループ パッケージ
特定の回数、あるいは条件が満たされるまで、アクション のシーケンスを繰り返し実行するには、ループ パッケージを使用します。
条件付きループでは、条件パラメーターが満たされているかどうかに応じて、異なる アクション が実行されます。反復回数が指定されたループの場合、ループは最後の反復で終了し、Bot の次のステップに進みます。
ループ内でアクションのシーケンスを特定の回数繰り返して実行すると、ループ内の終了条件はシーケンスを繰り返すたびに評価されます。
たとえば、10 列あるデータ テーブルをループさせる場合、ループの終了条件に列数の動的な値を入力し、 アクションを使用して、ループ本体内のインデックス 0 の列を削除し、Bot を実行します。Bot は操作を実行するたびに列を削除します。これにより、ループの終了条件が操作のたびに評価されるため、反復回数を減らすことができます。
ループ ラベル
- 特定の Bot 内の各ループ ラベルが一意であることを確認します。
- [ラベル] フィールドでは、英数字のみがサポートされます。
- 最初の [ループ] アクションの [ラベル] フィールドで、ラベルに「
outerloop
」と指定します。 - 2 番目の [ループ] アクションの [ラベル] フィールドで、ラベルに「
innerloop
」と指定します。 - アクションの [ラベル] フィールドで、続行するループのラベルを選択します。
- アクションの [ラベル] フィールドで、Break するループのラベルを選択します。
ループのラベル付けの方法を確認するには、ビデオをクリックしてください。
Bot 内に複数のネストされたループがあり、ネストされたループ内に および [Break] アクションがあり、ループにラベルを付けていない場合、Bot 実行時に、Bot では、デフォルトで、最も近いループが Break または続行されます。
- 外側ループと、その外側ループ内にネストされた内側ループがあるとします。
- その内側ループ内に Break] アクションがあるとします。 および [
ループ パッケージのアクション
以下の ループ アクション を使用できます。
アクション | 説明 |
---|---|
ループ | 「[ループ] アクションの使用」を参照してください。 |
続行 | 「[続行] アクション」を参照してください。 「If パッケージ」を参照してください。 |
Break | 「Break アクション」を参照してください。 「If パッケージ」を参照してください。 |
ループ アクション内の反復子関連の条件
[反復子] オプションを選択して、ループ アクション の一部として アクション セットを繰り返す回数を指定します。
反復子 | 説明 |
---|---|
CSV/TXT の各行に対して | 指定した CSV またはテキスト ファイルの各行に対して一連の アクション を繰り返し、現在の行の値をレコード変数に代入します。「[CSV/TXT の各行に対して] 反復子の使用」を参照してください。 |
データ テーブル の各行に対して | 指定したテーブルの各行に対して一連の アクション を繰り返し、現在の行の値をレコード変数に代入します。「[テーブルの各行用] 反復子の使用」を参照してください。 |
SQL クエリ データセットの各行 | 指定した SQL クエリ データセットの各行に対して一連の アクション を繰り返し、現在の行の値をレコード変数に代入します。データベース接続を確立するときに使用したセッション名を指定します。 |
ディクショナリ 内の各キーに対して | 指定したディクショナリ変数の各キーに対して一連の アクション を繰り返し、現在のキーの名前を変数に代入します。 注: Bot が アクション を含む [ループ] アクション を実行すると、Bot はディクショナリの元のアイテム数だけを反復します。これには、[書き込み] アクション を使用して挿入されたアイテムは無視されます。
|
ディクショナリ 内の各値に対して | 指定したディクショナリ変数の各値に対して一連のアクションを繰り返し、現在の値を変数に代入します。この変数型はさまざまなサブタイプ (文字列、数値、Boolean など)を格納できるので、アクション を構成するときに変数のクイック作成を行った場合、変数は [任意] のタイプになります。 注: Bot が アクション を含む [ループ] アクション を実行すると、Bot はディクショナリの元のアイテム数だけを反復します。これには、[書き込み] アクション を使用して挿入されたアイテムは無視されます。
|
メールボックス内の各 E メールに対して | 指定したメールボックス内の各 E メールに対して一連の アクション を繰り返します。「[メール ボックス内の各 E メールに対して] 反復子の使用」を参照してください。 |
ワークシート内の各行 (Excel の基本操作 または Excel の高度な操作) | ワークシート内のデータを含む各行に対して一連の アクション を繰り返し、現在の行の値をレコード変数に代入します。Excel の基本操作 または Excel の高度な操作 ワークシートを開くときに使用したセッション名を入力します。アクション を繰り返す対象 (すべての行、指定した行、または指定したセル範囲) を指定します。[この変数に現在の行を代入] リストからレコード変数を選択するか、新しい変数を作成します。「レコード変数」を参照してください。 この反復子は、セル値を文字列データ型として取得します。数値、パーセント、通貨、指数、日付などの Excel セル形式をサポートしています。たとえば、[通貨] 表示形式のセルから値がテーブル変数またはレコード変数に渡された場合、通貨記号は保持されます。
[グローバル セッション] オプションを使用し、Excel の高度な操作 パッケージ による Microsoft Excel のセッションを共有することは、このオプションではできません。 代替ソリューション: [複数のセルを取得] アクション を使用し、データをデータテーブル変数に保存した後で、[データ テーブル] オプションを選択して ループ パッケージ を使用します。 |
フォルダー内の各ファイル | 指定したフォルダー内の各ファイルに対して一連の アクション を繰り返し、次の 2 つのキーが含まれたディクショナリ変数に現在のファイルのプロパティを代入します。name キーはファイル名、extension キーはファイル拡張子を格納しています。異なる拡張子のファイルを開くには、変数オプションを使用して、フォルダー パス、ファイル名、ファイル拡張子を割り当てます。まず、フォルダー パスの変数 |
フォルダーの各フォルダー | 指定したフォルダー内の各フォルダーに対して一連の アクション を繰り返し、現在のフォルダー名を文字列変数に代入します。 [すべてのサブフォルダーを含む] オプションを使用して、隠しフォルダーを含むフォルダー内の各サブフォルダーを再帰的に反復処理します。 |
リストの各項目に対して | 指定したリスト内の各項目に対して一連の アクション を繰り返し、現在の項目を変数に代入します。アクション をリスト内のすべての項目で繰り返すか、リスト内の一定範囲の項目でのみ繰り返すかを指定します。この変数型はさまざまなサブタイプ (文字列、数値、Boolean など)を格納できるので、アクション を構成するときに変数のクイック作成を行った場合、変数は [任意] のタイプになります。 注: リスト内のインデックスは 0 から始まります。たとえば、リストの 3 番目の位置から 6 番目の位置までの項目にアクションを繰り返すには、該当するフィールドに「2」と「5」を指定します。
|
n 回 | 指定した回数だけコンテナ内で アクション を繰り返します。反復回数は、数値変数に代入することができます。 |
レコード内の各値 | 指定したレコードの各値に アクション セットを繰り返し、変数に現在の値を割り当てます。この変数型はさまざまなサブタイプ (文字列、数値、Boolean など)を格納できるので、アクション を構成するときに変数のクイック作成を行った場合、変数は [任意] のタイプになります。。 |
カレンダーの各会議 | 指定したカレンダー内の各ミーティングに対して一連の アクション を繰り返すには、このオプションを使用します。「Microsoft 365 Calendar アクションをループ内で使用する」を参照してください。 |
ワークシート内の各行 (Microsoft 365 Excel) | ワークシート内でデータを含む各行に対して一連の アクション を繰り返します。
|
XML Dataset の各ノードに対して | XML Dataset 内の各ノードに対して一連の アクション を繰り返し、現在のノードを文字列変数に代入します。XML ファイルを開くときに使用したセッション名を入力します。 |
ループ アクション内の While 関連の条件
- [条件を追加] をクリックします。
- 以下のいずれかのオプションを選択します。
- And: アクション を実行するには、両方の条件を満たす必要があります。
- Or: アクション を実行するには、どちらか一方の条件を満たす必要があります。
- ドロップダウン リストから条件を選択します。
While | 説明 |
---|---|
アプリケーション | アプリケーションが実行中かどうかに基づいてアクションを実行するには、[アプリケーションは実行中です] または [アプリケーションは実行されていません] の条件を使用します。 アプリケーション パスを入力するか、変数を使用してパスを指定し、条件が真になるまで待機する時間 (秒) を指定します。 注: [アプリケーションは実行中です] および [アプリケーションは実行されていません] の条件は、Internet Explorer Bot の場合は適用できません。それは、[Microsoft Edge] が [IE モード] で起動されている場合、対応するプロセス iexplore.exe が背後で実行されているからです。
|
Boolean | Boolean 変数の値に基づいて アクション を実行するには、この条件を使用します。この条件を使用して、2 つの Boolean 変数の値を比較するか、1 つの Boolean 変数と選択した Boolean 値を比較します。 |
データ テーブル | 指定したテーブルに値が含まれているかどうかに基づいてアクションを実行するには、[データ テーブルは空です] 条件を使用します。 列または行の数の値が [等しい] かどうか、[より大きい] かどうか、または [より小さい] かどうかに基づいてアクションを実行するには、[行数] および [列数] の条件を使用します。 |
日時 | ターゲットの日時変数の値に比べてソース日時変数の値が [等しい] か [等しくない] か、[より大きい] か [等しい] か、または [より小さい] か [等しい] かに基づいてアクションを実行するには、[日時変数] 条件を使用します。 |
ディクショナリ | 選択したディクショナリ変数に指定したキーが含まれているかどうかに基づいて一連の アクション を繰り返すには、この条件を使用します。 注: キーの比較では大文字と小文字が区別されます。
|
ファイル | 以下の条件を使用して、アクションを実行します。
|
フォルダー が存在するかどうか | フォルダーが存在するかどうかに基づいて一連の アクション を繰り返すには、この条件を使用します。 |
画像認識 | これらの条件を使用して以下を確認します。
[ウィンドウ] 条件では、[ウィンドウのサイズ変更] オプションを使用してウィンドウの寸法を指定できます。このオプションによって、より信頼性の高い Bot を実現できます。これによってウィンドウのサイズは、タスクが記録された寸法に変更されるため、Bot におけるターゲット オブジェクトの識別能力が高まります。
注: このオプションは、サイズ変更可能なウィンドウに対してのみ使用できます。これは [デスクトップ] または [タスクバー] オプションでは使用できません。
[ウィンドウ] の条件では、[プレビュー] オプションを使用して、キャプチャされた特定のオカレンスを選択し、画像を基準にしてクリック位置を設定できます。 |
JavaScript | 指定した JavaScript のステータスに基づいてアクションを実行するには、[スクリプトが正常に実行されました] または [スクリプトが正常に実行されませんでした] の条件を使用します。スクリプトが含まれているファイルを選択し、オプションでリスト変数を選択してパラメーターを指定します。 |
レガシー オートメーション | [レガシー オートメーション] 条件は、移行した Bot が Automation 360 でシームレスに実行することを確認するためだけに使用します。これらの条件を使用して新しい Bot を開発することは推奨されません。以下を検証するには、以下の条件を使用します。
[ウィンドウ コントロール] 条件では、[ウィンドウのサイズ変更] オプションを使用してウィンドウの寸法を指定できます。このオプションによって、より信頼性の高い Bot を実現できます。これによってウィンドウのサイズは、タスクが記録された寸法に変更されるため、Bot におけるターゲット オブジェクトの識別能力が高まります。 |
リスト | 指定したリスト変数に特定の値が含まれているかどうかに基づいてアクションを実行するには、[List 変数] 条件を使用します。値には [数値]、[文字列]、または [Boolean] データ タイプを指定できます。 |
数字 | 指定した数値変数が特定の値と [等しい] か [等しくない] か、特定の値 [より大きい] か、[等しい] か、または特定の値 [より小さい] か、[等しい] かに基づいてアクションを実行するには、[数値変数] 条件を使用します。 |
Ping | マシンやサーバーが実行中かどうかを確認し、その結果に基づいてアクションを実行するには、[Ping が成功] または [Ping が失敗] の条件を使用します。条件が真になるまで待機する時間 (秒) を入力します。 |
レコーダー |
注: [オブジェクトが存在します] と [オブジェクトが存在しません] というレコーダーの条件は、Internet Explorer モードの Chromium ベースの Microsoft Edge に対応しています。
|
サービス | サービスが実行されているかどうかに基づいてアクションを実行するには、[サービス実行中] または [サービス非実行中] 条件を使用します。[サービス リスト] を選択して、使用可能なサービスのリストからサービスを選択します。 |
文字列 | 指定したソース文字列の値がターゲット値と [等しい] か [等しくない] か、ターゲット値を [含む] か [含まない] かに基づいてアクションを実行するには、[文字列変数] 条件を使用します。 [大文字と小文字を区別する] オプションを指定すると、2 つの文字列の大文字と小文字が一致する場合にのみアクションを実行できます。 Microsoft アプリケーションからテキストを抽出する場合、抽出されたテキストには、改行を示す 文字列が空かどうかに基づく条件を作成するには、[等しい] 演算子を使用してソース値と空のターゲット フィールドを比較します。 「条件付きステートメントの使用例」を参照してください。 |
タスク Bot | 指定した タスク Bot のステータスに基づいてアクションを実行するには、[タスクが正常に完了しました] または [タスクが正常に完了しませんでした] の条件を使用します。 |
VBScript | 指定した Visual Basic スクリプトのステータスに基づいてアクションを実行するには、[スクリプトが正常に実行されました] または [スクリプトが正常に実行されませんでした] の条件を使用します。スクリプトが含まれているファイルを選択し、オプションで変数を選択してパラメーターを指定します。 |
ウィンドウ | [ウィンドウ タイトル] を入力するか変数を使用して、特定のアプリケーション ウィンドウが開いているかどうかを確認するには、[ウィンドウが存在する] または [ウィンドウが存在しない] の条件を使用します。条件が真になるまで待機する時間 (秒) を入力します。これらの条件は、ウィンドウのタイトルが変わらない場合に、特定のウィンドウが開いているかどうかを確認し、その出力に基づいてさらにアクションを実行するために使用されます。 [ウィンドウが存在する] 条件では、同じウィンドウ変数を使用して、キャッシュから特定のウィンドウを検索します。たとえば、Yahoo India の Web ページを開き、その Web ページの [News] オプションで [クリック] アクションを実行すると、そのアクションにより、ウィンドウのタイトルを変更する別のページに移動されます。このときに [ウィンドウが存在する] 条件でウィンドウが存在するかどうかを検証すると、Bot はキャッシュから Yahoo India の Web ページをフェッチしてアクションを実行します。タイトルが変わっただけで、ウィンドウは同じだからです。ウィンドウ変数の動作の詳細については、「自分で作成した変数 (ユーザー定義)」を参照してください。 同じタイトルのウィンドウが存在するか、またはウィンドウのタイトルが変更されたかどうかを確認するには、[同じタイトルのウィンドウは存在しません] または [同じタイトルのウィンドウが存在します] 条件を使用します。条件が真であるかどうかを検証し続ける時間 (秒) を入力します。これらの条件は、ウィンドウ タイトルが動的である場合に使用されます。たとえば、Google アカウントの Web ページを開き、ユーザー名とパスワードを入力してアカウントにログインすると、ウィンドウ タイトルが変わります。次のアクションとして新しいメールを作成する場合、次のアクションを実行する前に、これらの条件を使用して、同じタイトルのウィンドウが存在するか、タイトルが変更されているかを確認することができます。 |
グループ条件
一連のアクションを実行する前に Bot で一度に複数の条件をチェックしたい場合、[グループを追加] オプションを使用して、複数の Boolean 条件を追加するか、グループ内で [And] や [Or] オプションを使用して複数の条件を組み合わせます。
また、グループ内に追加でグループを作成することもできます。