WinActorの繰り返し処理は、ノード[繰り返し]を使用することで実現できます。どのタイミングで終了するかの繰り返しの回数や条件を取得できれば、自在にフローを制御できます。
本記事では繰り返し処理について、WinActorで設定するための基本操作と、回数の設定の方法について説明します。
目次
繰り返し処理を設定するための基本操作について説明していきます。
処理の開始前に、繰り返しの判定をするための初期値を設定します。
たとえば1、2、3……とカウントが上がっていく変数があり、特定の条件になった時にロボットの繰り返し処理を止めたい場合で考えていきます。
変数が空欄のままノード[カウントアップ]を実行するとエラーになります。また、変数が1以外の数値のまま処理が開始されると、想定外の処理となる場合があります。
想定通りの処理を実現するためにも、変数一覧の変数に初期値を設定しておく、ノード[変数値設定]で初期値を入れる、など初期値を設定をしておきましょう。
ノード[繰り返し]を追加して、その内に繰り返したい処理を配置します。
ノードをダブルクリックしてプロパティ画面を開き、繰り返しを終了するための条件を設定します。
WinActorの繰り返しの条件式
繰り返し条件の設定方法は5種類あります。
WinActorの繰り返しのカウンタ
カウンタの機能があり、ループカウンタを保持する変数を設定すると、自動で変数の初期値設定とカウントアップを実行してくれます。
たとえば、最初の処理では「1」が設定され、処理を繰り返すごとに+1加算された値を、指定された変数値に再設定します。
終了条件の設定は、処理の内容によって変わります。
「回数」では指定回数に達したことが、「条件式」では指定条件を満たさなくなったことが、繰り返しの終了条件となります。
たとえば、以下のような設定が可能です。
<パターン1:回数>
繰り返し処理前にデータ数「3」を取得して変数Aに代入
ノード[繰り返し]のプロパティの「回数」に変数Aを設定
繰り返し処理を3回実行したら終了
<パターン2:条件式>
繰り返し処理の前に初期値「true」を変数Bに代入
ノード[繰り返し]のプロパティの「条件式」に「変数Bがtrue」と設定
処理後の変数Bの結果が「true」だったら繰り返して、「false」になったら終了
WinActorの繰り返しでは、最終行までデータ内容を取得したり転記したりする必要があります。最終行かどうかの判定をするには、データの数を取得する必要があります。
ここでは、データ数の取得方法として使用頻度の高い、3種類の取得方法について解説します。
Excelのデータは、必ずA1セルからデータが始まるものばかりではありません。
まずは、ライブラリ[Excel操作(最終行取得 その4)]にて検索列を指定することで最終行を取得します。ノード[四則演算]でデータ項目名や先頭にある不要な行を引き算して、データの行数を取得することが可能です。
表によっては、ライブラリ[Excel操作(最終行取得 その1)]~[Excel操作(最終行取得 その3)]を使用する場合もあります。プロパティの「■機能概要」を確認した上で選定してください。
CSVファイルやテキストファイルの文字列の行数を取得する場合は、ライブラリ[テキストファイル行数取得]を使います。
CSVファイルによっては1行目が項目名だったり頭にある数行が不要な行である場合がありますので、その際はノード[四則演算]で引き算をしておく必要があります。必ずデータの中身を確認してシナリオを作成してください。
ファイルを1つずつ開いて処理するなどの繰り返し作業をする場合は、ライブラリ[ファイル一覧(ファイル数)取得]を使います。
なお、ファイル数取得後にファイル番号をカウントアップして繰り返し処理をする場合は注意が必要です。ファイルの指定方法がインデックス(ゼロからカウントする)を指定するパターンなど、ライブラリによって設定方法が異なる場合があります。必ずライブラリのプロパティの注釈を確認してから設定するようにしてください。
繰り返し処理には、終了条件は決まっていても、繰り返し回数が不定の場合もあります。
たとえば、業務用の画面が表示されるまで待機し続ける処理の場合、画面が遷移し終わるまでずっと待機しておく必要があります。
そのような場合は、無限ループとノード[繰り返し終了]を組み合わせてフローを作ると想定通りの結果で実行できます。
まず、ノード[繰り返し]のプロパティを開き、[条件式設定]ボタンを押下して、条件式を設定します。
条件式の設定内容は以下の通りです。
論理演算子 : 条件 (初期値のまま)
値1 : 値⇒ (直接値入力の状態で値は空欄にしておく)
比較演算子 : 等しい (数式比較の「=」の比較演算子は使わない)
値2 : 値⇒ (直接値入力の状態で値は空欄にしておく)
これで無限ループの処理が実行できますが、このまま使用するといつまでも終了しないので、終了条件の設定をします。
そこで、繰り返しを終了する条件とノードを繰り返し処理のノード中に追加します。
これで、無限ループの設定が完成です。
関連するノードは、以下の4つです。
それぞれのノードについて説明していきます。
処理前に設定された条件を確認してから、繰り返しを実行する仕組みになります。
処理後に設定された条件を確認してから、次の繰り返しを実行する仕組みになります。
このため、指定した条件にかかわらず最低1回は繰り返し内の処理を実行します。
繰り返し処理を実行中に、ノード[繰り返し]外から抜けて次のノードに移動する仕組みです。ノード[繰り返し終了]を、繰り返し処理の外に配置するとエラーになります。
繰り返し処理を実行中に、以降のノードの実行をせず、次の繰り返しの条件判定に移動する仕組みです。ノード[次の条件判定]を、繰り返し処理の外に配置するとエラーになります。
今回の記事では、以下のことが学べたかと思います。
上記情報を参考に、楽しいWinActor開発に着手いただければと思います!
効率的・効果的に開発を進めたい方や、RPAの活用・運用でお困りごとがある方は
こちらをご活用ください。
本コラム内容について
各コラムの内容は、執筆時点での情報を元にしています。
製品バージョンアップなどにより、最新ではない場合がありますので、最新の情報は、製品の公式文献などを参考にすることをおすすめいたします。
各コラムの内容は、当社技術支援チームが実際の経験に基づいたTipsとなりますが、利用することによって生じたあらゆる不利益または損害に対して、弊社では一切責任を負いかねます。
一つの参考としていただき、利用いただく際は、各社のルール・状況等に則りご活用いただけますと幸いです。
※WinActor®は、NTTアドバンステクノロジ株式会社の登録商標です。
※Accessは、米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。