If パッケージ

タスクの条件に基づいて実行順序を制御するには、If パッケージアクションを使用します。

アプリケーションが実行中であるか、フォルダーまたはファイルが存在するか、変数が指定された値と一致するか、アプリケーション ウィンドウが存在するか、マシンまたはサーバーが実行中であるかを確認するには、一連のアクションを実行する前に If パッケージアクションを使用します。

If パッケージアクション

If パッケージには以下のアクションが含まれています。

アクション 説明
If [If] アクション」を参照
Else if (オプション) [Else if (オプション)] アクション」を参照
Else Else アクション」を参照

[If] アクションの条件

自動化タスクの実行フローを制御するには、[If] アクションで以下の条件を使用します。

注: 1 つの [If] アクションで、条件を最大 32 個まで追加できます。
条件 説明
アプリケーション アプリケーションが実行中かどうかに基づいてアクションを実行するには、[アプリケーションは実行中です] または [アプリケーションは実行されていません] の条件を使用します。

アプリケーション パスを入力するか、変数を使用してパスを指定し、条件が真になるまで待機する時間 (秒) を指定します。

注: [アプリケーションは実行中です] および [アプリケーションは実行されていません] の条件は、Internet Explorer Bot の場合は適用できません。それは、[Microsoft Edge] が [IE モード] で起動されている場合、対応するプロセス iexplore.exe が背後で実行されているからです。
Boolean Boolean 変数に含まれる値 ([True] または [False]) に基づいてアクションを実行するには、[Boolean 変数] の条件を使用します。

この条件を使用すると、[変数の挿入] ウィンドウから第 2 の変数を選択して 2 つの Boolean 変数値を比較することもできます。

データ テーブル 指定したテーブルに値が含まれているかどうかに基づいてアクションを実行するには、[データ テーブルは空です] 条件を使用します。

列または行の数の値が [等しい] かどうか、[より大きい] かどうか、または [より小さい] かどうかに基づいてアクションを実行するには、[行数] および [列数] の条件を使用します。

日時 ターゲットの日時変数の値に比べてソース日時変数の値が [等しい] か [等しくない] か、[より大きい] か [等しい] か、または [より小さい] か [等しい] かに基づいてアクションを実行するには、[日時変数] 条件を使用します。
ディクショナリ 指定したキーの値がターゲット値と [等しい] か [等しくない] か、またはターゲット値を [含む] か [含まない] かに基づいてアクションを実行するには、[キーを確認] 条件を使用します。
注: キーの比較では大文字と小文字が区別されます。

特定のキーにターゲット値が含まれているかどうかに基づいてアクションを実行するには、[シングル値をチェック] 条件を使用します。

DLL [DLL セッションが存在します] と [DLL セッションが存在しません] という条件を使用し、Bot で DLL セッションが開いているか閉じているかに基づいてアクションを実行します。
ファイル 以下の条件を使用して、アクションを実行します。
  • [ファイルの日付]

    この条件は、ファイルを作成または編集した日時を確認するために使用します。[日付]、[次の期間内に]、[の間]、または [指定日より前の日時] オプションを使用して、日付範囲を指定します。[日付] オプションを選択する場合は、ファイルの作成または変更が行われたかどうかを確認する日付を指定します。[過去の日付範囲] オプションでは、日数または時間 (時間、分、秒) を指定します。この条件が真になるまで待機する時間 (秒) を入力します。

  • [ファイルが存在する] と [ファイルが存在しない]

    ファイルが存在するかどうかに基づいてアクションを実行するには、これらの条件を使用します。たとえば、データファイルが存在する場合は、ファイル形式を指定してデータベースにアップロードするなどの操作が可能です。

  • [ファイル拡張子]

    この条件は、選択されたファイルの拡張子をチェックし、その結果に基づいてアクションを実行するために使用します。[ファイル パス] フィールドを使用して、ファイルを選択します。

  • [ファイル サイズ]

    この条件は、指定したサイズと比べて、ファイル サイズが大きいか、小さいか、同じかを確認します。

    この条件が真になるまで待機する時間 (秒) を入力します。

フォルダー フォルダーが存在するかどうかに基づいてアクションを実行するには、[フォルダーが存在する] または [フォルダーが存在しない] の条件を使用します。
画像認識 これらの条件を使用して以下を確認します。
  • [画像ファイル] が [画像ファイル] で見つかるかどうか。
  • [画像ファイル] が [ウィンドウ] で見つかるかどうか。
  • [ウィンドウ] が [画像ファイル] で見つかるかどうか。
  • [ウィンドウ] が [ウィンドウ] で見つかるかどうか。
[ウィンドウ] 条件では、[ウィンドウのサイズ変更] オプションを使用してウィンドウの寸法を指定できます。このオプションによって、より信頼性の高い Bot を実現できます。これによってウィンドウのサイズは、タスクが記録された寸法に変更されるため、Bot におけるターゲット オブジェクトの識別能力が高まります。
注: このオプションは、サイズ変更可能なウィンドウに対してのみ使用できます。これは [デスクトップ] または [タスクバー] オプションでは使用できません。

[ウィンドウ] の条件では、[プレビュー] オプションを使用して、キャプチャされた特定のオカレンスを選択し、画像を基準にしてクリック位置を設定できます。

JavaScript 指定した JavaScript のステータスに基づいてアクションを実行するには、[スクリプトが正常に実行されました] または [スクリプトが正常に実行されませんでした] の条件を使用します。スクリプトが含まれているファイルを選択し、オプションでリスト変数を選択してパラメーターを指定します。
レガシー オートメーション [レガシー オートメーション] 条件は、移行した BotAutomation 360 でシームレスに実行することを確認するためだけに使用します。これらの条件を使用して新しい Bot を開発することは推奨されません。以下を検証するには、以下の条件を使用します。
  • [Web コントロール] が存在するかどうか。
  • [ウィンドウ コントロール] が存在するかどうか。
  • [ウィンドウ コントロール] がアクティブかどうか。
  • [スクリプト] が成功したかどうか。
  • [子ウィンドウ] が存在するかどうか。

[ウィンドウ コントロール] 条件では、[ウィンドウのサイズ変更] オプションを使用してウィンドウの寸法を指定できます。このオプションによって、より信頼性の高い Bot を実現できます。これによってウィンドウのサイズは、タスクが記録された寸法に変更されるため、Bot におけるターゲット オブジェクトの識別能力が高まります。

リスト 指定したリスト変数に特定の値が含まれているかどうかに基づいてアクションを実行するには、[List 変数] 条件を使用します。値には [数値]、[文字列]、または [Boolean] データ タイプを指定できます。
数字 指定した数値変数が特定の値と [等しい] か [等しくない] か、特定の値 [より大きい] か、[等しい] か、または特定の値 [より小さい] か、[等しい] かに基づいてアクションを実行するには、[数値変数] 条件を使用します。
Ping マシンやサーバーが実行中かどうかを確認し、その結果に基づいてアクションを実行するには、[Ping が成功] または [Ping が失敗] の条件を使用します。条件が真になるまで待機する時間 (秒) を入力します。
レコーダー
  • ウィンドウ内のオブジェクトを検出するには、[オブジェクトが存在します] 条件を使用します。オブジェクトをキャプチャするウィンドウまたは変数を選択します。
  • [オブジェクトが存在しない] 条件を使用して、ウィンドウ内の特定のオブジェクトが存在するかどうかを確認し、その結果に基づいてアクションを実行します。たとえば、[オブジェクトが存在しない] 条件を [ループ] > [While] 条件内で使用し、ビジネス アプリケーション上のオブジェクトが読み込まれるまで、Bot が次のアクションを実行しないようにします。
  • [システム タイムアウトの設定] フィールドから、[基本] または [詳細] を選択します。
    • 基本: [システム レスポンスを待機 (秒数)] フィールドで、オブジェクト コントロールをアプリケーション ウィンドウに表示するまで Bot が待機する必要がある秒数を指定します。この待機時間には、ページのロードとオブジェクト検索の両方の待機時間が含まれます。

      [テキストを設定] アクションを使ってテキスト フィールドにキーボード操作を入力する際には、遅延時間を設定することをお勧めします。

      注: アプリケーション ウィンドウにコントロールが表示されるまで Bot を待機させるタイムアウト値を指定します。このタイムアウト値は、コントロールが表示されるウィンドウが存在する場合にのみ適用されます。レコーダーは、最初にアプリケーション ウィンドウを検索し、次にウィンドウの中にあるオブジェクトを検索します。ウィンドウの検索時間は、デフォルトで 30 秒です。このため、待ち時間を 5 秒に指定しても、ウィンドウが存在しない場合は、デフォルトで 30 秒間待機します。

      まず、[If] > [ウィンドウが存在する] 条件を使用し、待機時間を 0 秒に指定し、アプリケーション ウィンドウが存在することを確認することをお勧めします。ウィンドウが存在する場合は、レコーダーを使用し、待機時間を 5 秒に指定し、Bot を実行してオブジェクトを検出します。

    • 詳細: このオプションは、株式の Web サイトなど、常に最新のデータをロードして更新している Web サイトを自動化するために使用します。これらの Web サイトは、技術的に画面に完全にはロードされません。このような場合、Bot は Web ページが完全にロードされるのを待つ必要がなく、一定時間後に Web ページの自動化を直接進めることができます。

      [ブラウザ レスポンスを待機 (秒数)] フィールドで、Bot がブラウザのロードを待機する必要がある秒数を指定します。次のいずれかのオプションを選択します。

      • Bot を停止し、エラー メッセージを表示する: 指定したタイムアウト時間内に Web ページが完全にロードされなかった場合は、このオプションを選択して Bot を停止し、エラー メッセージを表示します。
      • スキップしてオブジェクトに進む: このオプションを選択すると、Web ページが完全にロードされていない場合でも、オブジェクトに直接進み、キャプチャします。

      [オブジェクト レスポンスを待機 (秒数)] フィールドで、オブジェクト コントロールをアプリケーション ウィンドウに表示するまで Bot が待機する必要がある秒数を指定します。

注: [オブジェクトが存在します] と [オブジェクトが存在しません] というレコーダーの条件は、Internet Explorer モードの Chromium ベースの Microsoft Edge に対応しています。
サービス サービスが実行されているかどうかに基づいてアクションを実行するには、[サービス実行中] または [サービス非実行中] 条件を使用します。[サービス リスト] を選択して、使用可能なサービスのリストからサービスを選択します。
文字列 指定したソース文字列の値がターゲット値と [等しい] か [等しくない] か、ターゲット値を [含む] か [含まない] かに基づいてアクションを実行するには、[文字列変数] 条件を使用します。

[大文字と小文字を区別する] オプションを指定すると、2 つの文字列の大文字と小文字が一致する場合にのみアクションを実行できます。

Microsoft アプリケーションからテキストを抽出する場合、抽出されたテキストには、改行を示す /r/n 特殊文字が含まれます。テキストを比較するときに /r 特殊文字を無視する場合は、[キャリッジ リターンを無視] オプションを選択します。

文字列が空かどうかに基づく条件を作成するには、[等しい] 演算子を使用してソース値と空のターゲット フィールドを比較します。

条件付きステートメントの使用例」を参照してください。

タスク Bot 指定した タスク Bot のステータスに基づいてアクションを実行するには、[タスクが正常に完了しました] または [タスクが正常に完了しませんでした] の条件を使用します。
VBScript 指定した Visual Basic スクリプトのステータスに基づいてアクションを実行するには、[スクリプトが正常に実行されました] または [スクリプトが正常に実行されませんでした] の条件を使用します。スクリプトが含まれているファイルを選択し、オプションで変数を選択してパラメーターを指定します。
ウィンドウ [ウィンドウ タイトル] を入力するか変数を使用して、特定のアプリケーション ウィンドウが開いているかどうかを確認するには、[ウィンドウが存在する] または [ウィンドウが存在しない] の条件を使用します。条件が真になるまで待機する時間 (秒) を入力します。これらの条件は、ウィンドウのタイトルが変わらない場合に、特定のウィンドウが開いているかどうかを確認し、その出力に基づいてさらにアクションを実行するために使用されます。

[ウィンドウが存在する] 条件では、同じウィンドウ変数を使用して、キャッシュから特定のウィンドウを検索します。たとえば、Yahoo India の Web ページを開き、その Web ページの [News] オプションで [クリック] アクションを実行すると、そのアクションにより、ウィンドウのタイトルを変更する別のページに移動されます。このときに [ウィンドウが存在する] 条件でウィンドウが存在するかどうかを検証すると、Bot はキャッシュから Yahoo India の Web ページをフェッチしてアクションを実行します。タイトルが変わっただけで、ウィンドウは同じだからです。ウィンドウ変数の動作の詳細については、「自分で作成した変数 (ユーザー定義)」を参照してください。

同じタイトルのウィンドウが存在するか、またはウィンドウのタイトルが変更されたかどうかを確認するには、[同じタイトルのウィンドウは存在しません] または [同じタイトルのウィンドウが存在します] 条件を使用します。条件が真であるかどうかを検証し続ける時間 (秒) を入力します。これらの条件は、ウィンドウ タイトルが動的である場合に使用されます。たとえば、Google アカウントの Web ページを開き、ユーザー名とパスワードを入力してアカウントにログインすると、ウィンドウ タイトルが変わります。次のアクションとして新しいメールを作成する場合、次のアクションを実行する前に、これらの条件を使用して、同じタイトルのウィンドウが存在するか、タイトルが変更されているかを確認することができます。

グループ条件

一連のアクションを実行する前に Bot で一度に複数の条件をチェックしたい場合、[グループを追加] オプションを使用して、複数の Boolean 条件を追加するか、グループ内で [And] や [Or] オプションを使用して複数の条件を組み合わせます。

また、グループ内に追加でグループを作成することもできます。

デスクトップ アプリケーションを使用する基本的な Bot のビルド

[If] パッケージを使用する基本的な TaskBot をビルドする方法の例。