SB C&Sの最新技術情報 発信サイト

C&S ENGINEER VOICE

Automation Anywhere -【ボット構築初級編 vol.3】IF/ELSEコマンドを使ってみよう!

Automation Anywhere
2020.02.20

こんにちは。鈴木です。

前回に引き続き、【ボット構築初級編】としてボット構築の基礎知識や、

コマンドの紹介を連載でお届けいたします。

今回は、第3回目ということで、IF/ELSEコマンドの使い方をご紹介します。

Let's RPA!!


□目次

  1. IF/ELSEコマンドの概要
  2. IF/ELSEコマンドの使い方
    1. 対象が存在する、しないの判定
    2. 演算子を用いた変数の判定
    3. ファイルの日付、サイズの判定
  3. まとめ

※AAE Clientのバージョン:11.3.4.0

1.IF/ELSEコマンドの概要

指定した条件に合致するかを判定するコマンドです。

プログラミング言語ではお馴染みですが、

Automation Anywhereでも使うことができます。

If、Else If、Elseを組み合わせて条件を指定することができます。

004_000.png

判定条件がたくさんありますので、いくつかのグループに分けてご紹介します。

004_002.png

004_001.png

2.IF/ELSEコマンドの使い方

 1.対象が存在する、しないの判定

①ファイルの存在判定

 指定したファイルが存在する OR 存在しないを判定することができます。

004_003.png

②フォルダの存在判定

 指定したフォルダが存在する OR 存在しないを判定することができます。

004_004.png

③ウィンドウの存在判定

 指定したウィンドウが存在する OR 存在しないを判定することができます。

004_005.png

④アプリケーションの起動判定

 指定したアプリケーションが起動している OR 起動していないを判定することができます。

 対象アプリケーションのEXEファイルを指定します。

004_006.png

⑤スクリプトの実行判定

 指定したスクリプトの実行が成功した OR 失敗したを判定することができます。

 スクリプトにパラメータ(引数)を渡すことも可能です。

004_007.png

⑥タスクの実行判定

 指定したタスクボットの実行が成功した OR 失敗したを判定することができます。

 指定したタスクボットが実行され、実行結果を判定します。

 Run Taskコマンドのようにパラメータを渡したり、戻り値を受け取ったりすることはできません。

004_008.png

⑦Pingコマンドの実行判定

 指定したIPアドレスに対するPingコマンドが成功した OR 失敗したを判定することができます。

004_009.png

⑧Web Controlの存在判定

 指定したWeb Controlが存在する OR 存在しないを判定することができます。

 Web Controlのラジオボタンをクリックしたら、編集ボタンをクリックします。

004_010.png

 URL又はページを選択して対象のオブジェクトをキャプチャします。

 どこかで見たことがあると思いませんか?

 そうです!Manage Web Controlsコマンドと同じ設定内容ですね!

004_011.png

⑨Windowsサービスの起動判定

 指定したWindowsサービスが起動している OR 起動していないを判定することができます。

004_012.png

⑩画像の存在判定

 指定した画像が対象のファイル OR ウィンドウに

 存在している OR 存在していないを判定することができます。

 Image Recognitionのラジオボタンをクリックしたら、編集ボタンをクリックします。

004_015.png

 指定したウィンドウにキャプチャした画像が存在するかを判定する

 コマンドを設定してみます。

 画像1:検索範囲となる画像(ウィンドウまたは、ファイルから)を指定します。

 画像2:検索対象となる画像(ウィンドウまたは、ファイルから)を指定したら、

     キャプチャボタンをクリックします。

 どこかで見たことがあると思いませんか?

 そうです!Image Recognitionコマンドと同じ設定内容ですね!

004_016.png

 対象のウィンドウから検索したい画像の範囲を指定します。

004_017.png

 今回は、黒い星(★)をキャプチャしました。

004_018.png

 キャプチャが完了すると、検索対象の画像が検出されているか確認することができます。

004_020.png

 検出された画像の真ん中にあるスコープのようなマークはクリックする位置を示しています。

 下図のようにクリック位置を任意の位置にずらすことが可能です。

004_021.png

 その他の設定内容を説明します。

 発見回数:検索範囲の中に検索対象の画像が複数存在する場合、

      何個目の画像を検出対象とするかを指定できます。      

 画像が見つかったらクリック:画像が見つかったら、マークで指定された場所をクリックします。

 マッチする割合:指定する割合が高いほど、検索対象の画像をより精密に判定します。

 比較モード:Advanced、Normal、Gray-Scale、Monochromeから選択します。

       選択するモードによって検出方法の特徴が異なります。

       Advancedが最も正確に検出することができます。

 画像が見つからないとリピート:指定した条件での検索を繰り返すことができます。

 回数:リピートの回数を指定します。

 リピート間の待機時間:リピートのインターバルを指定します。

004_022.png

⑪Window Controlの存在判定

 指定したWindow Controlが存在する OR 存在しない

 アクティブ OR 非アクティブを判定することができます。

 Window Controlのラジオボタンをクリックしたら、編集ボタンをクリックします。

004_013.png

 ウィンドウを指定したら、Object Cloningと同じ手順でオブジェクトをキャプチャします。

004_014.png

⑫オブジェクトの存在判定

 指定したオブジェクトが存在する OR 存在しない を判定することができます。

 Object Propertiesのラジオボタンをクリックしたら、編集ボタンをクリックします。

004_035.png

 ウィンドウを選択したら、キャプチャボタンをクリックして

 どこかで見たことがあると思いませんか?

 そうです!Object Cloningコマンドと同じ設定内容ですね!

004_036.png

 2.演算子を用いた変数の判定

①Variableのラジオボタンをクリックしたら、編集ボタンをクリックします。

004_023.png

 判定対象の変数を指定し、演算子を選択します。

004_024.png

 指定した変数との比較対象として、定数 OR 変数を指定することができます。

 定数を指定する場合は、Fixのラジオボタンをクリックして、値を設定します。

004_025.png

 変数を指定する場合は、変数のラジオボタンをクリックして、変数を指定します。

 複数の条件を設定する場合は、更に条件を追加をクリックします。

004_026.png

AND条件か、OR条件を指定し、追加ボタンをクリックして、複数の条件を設定することができます。

 004_027.png

 3.ファイルの日付、サイズの判定

①ファイルの日付判定

 指定したファイルの日付(変更日 OR 作成日)を判定することができます。

 File dateのラジオボタンをクリックしたら、編集ボタンをクリックします。

004_028.png

 対象のファイルを指定し、日付のオプションから変更日 OR 作成日を選択します。

004_029.png

 選択した日付(変更日 OR 作成日)が下記の条件に合致しているかを判定します。

  過去:当日から、指定した日数と時間分を過去にさかのぼった範囲

  範囲:指定した2つの日付の範囲

  以前:指定した日付よりも過去の日付

004_030.png

②ファイルのサイズ判定

 指定したファイルのサイズを判定することができます。

 File sizeのラジオボタンをクリックしたら、編集ボタンをクリックします。

004_031.png

 対象のファイルを指定し、演算子を選択します。

004_032.png

 定数を指定する場合は、Fixのラジオボタンをクリックして、値を設定します。

004_033.png

 変数を指定する場合は、変数のラジオボタンをクリックして、変数を指定します。

004_034.png

3.まとめ

今回はIF/ELSEコマンドについてご紹介しました。

ボットの構築には必ず使うことになるので、

使いながら動きを確かめて頂くとよいと思います。

特に変数の判定は複数の条件を組み合わせることができるので、

高度なボット構築への第一歩になるはずです。

ぜひ使ってみてください!

著者紹介

先端技術推進統括部
RPAビジネス推進部
鈴木 陽介

C#によるシステム開発、POS開発を経てRPAエンジニアに。