WinActor で業務を自動化していこうとする場合に、その流れ(フロー)を作成したシナリオと言われるファイルを作成します。こちらでは、そのWinActor でシナリオを作成していく基本的な作り方をご紹介してます。
WinActor のシナリオとは
シナリオとは
WinActor のシナリオとは、WinActor に実行してほしい処理の流れを右の図のようないわゆるフロー図形式で記述したものになります。
シナリオのイメージとしては一般的なプログラムと同様に、開始と終了の間に繰返し実行したい処理を入れていき、そこを繰り返し処理にしていくのが基本的なシナリオ作成の流れになります。
プログラム開発と似ている面も多く、条件によって分岐したり、回数や終了条件判断(前、後)による繰り返し、変数が使えたりもします。
よく使う処理をサブルーチンとして部品化することも可能ですし、その場合変数の値をサブルーチンに渡したり、サブルーチンでの処理結果に基づいて値を戻したりも可能です。
各処理単位(右の図で言えば小さな黄色い長方形の箱)をノードと言っており、とにかく、開始と終了の間にこのノードを入れていけば WinActor が実行してくれます。(逆に言うと、開始と終了の間に入っていないノードは全く無視される事になります)
シナリオファイル
WinActorでは、上記の様な自動化したい業務の流れを記述したシナリオをファイルとして保存し、呼び出して実行します。このシナリオを記述したファイルのことをシナリオファイルと言います。
シナリオサンプル
各ノードの使い方・設定の仕方が判り難かったり、より実業務に近いWinActorのシナリオの例をこちらからダウンロード出来るようにしています。これらをメイン画面のファイル⇒開くから開いて頂ければ、より理解し易いかと思いますので、是非どうぞ。
WinActor のシナリオ作成手順
シナリオ作成は基本的に2通り
WinActor のシナリオを作成していくには、Excelマクロの自動記録に似た、自動化対象アプリケーションで行った操作を自動記録する方法と、1からノードを手で追加(ドラッグ&ドロップ)していく方法の2通りがあります。
◆ 自動記録
一見、自動記録が出来ればシナリオを作成できるように思えますが、全ての対象アプリケーションを自動記録できるわけではありません。また、Excelマクロでもそうなのですが、自動記録してもそこで出来た処理をそのままシナリオには出来ない理由があります。
- 自動記録した処理は1回きりの単発処理にしかならない
- Excel操作の自動記録マクロで言えば、記録した時のセル(シート)に対して行った同じ処理しか出来ない
従って、WinActor でも自動記録した処理をそのままはシナリオとして使えず、その自動記録した処理を更に手作業で修正して、繰返し処理にしたり、上記で言えばセルの位置を変数でセットしたりする部分を追加したりする必要があります。
従って、WinActor の自動記録はシナリオ作成テクニックの一部(の便利機能)程度と考えて頂いたほうが良いかと思います。
自動記録をするには更に3種類の自動(UI)認識モードがあり、こちらのページではその違いや使い方などをご紹介していますが、万能なものは無く、自動化対象アプリケーションによって使う(使える)認識技術を選択して使います。
● WinActor の自動記録モードとは
WinActor には3種類の自動(UI)認識モードがあります
- IEモード:IE(インターネットエクスプローラー)で画面表示するようなアプリ、Webなどを自動操作記録するモード
- イベントモード:Winadows アプリを自動記録操作の対象とする記録モード
- エミュレーションモード
詳しくは、こちらのページではその違いや使い方などをご紹介しています。
● WinActor の自動記録可能なアプリ
WinActor のUI認識モードを理解した上で、どの様なアプリが実際に自動UI認識(記録)が可能なのかをこちらのページでご説明しています。
◆ マニュアル作成
上記でもご説明していますが、WinActor のシナリオ作成において、自動記録のみで実用的なシナリオを作成することは出来ず、こちらのマニュアルでノードをドラッグ&ドロップ追加することでシナリオを作成していきます。
シナリオ作成手順
WinActor のシナリオを作成していく場合、(人によるかとは思いますが)基本的には下の流れで考えていくのではないかと思います。
◆ シナリオ構成の検討
シナリオ全体の構成を考えるとは、例えば下記のような点を事前に明確にしておくと言うことです。何れにしても作成したシナリオの仕様をドキュメント化しておかないと後々メンテナンス出来ない状況になったりもしますので、シナリオ作成に入る前に考えておくことをお勧めします。
- 対象のアプリケーション ⇒ これによって認識技術が限定されます
- 対象データを特定(インプット/アウトプット)、データ形式
- シナリオの処理範囲を限定(最初から最後まで全ての業務を1本のシナリオにしようとしない)
- システム間を直接つなぐのか、間接的につなぐのか(間にExcelやテキストファイルなどを挟む)
◆ メイン処理作成
● 対象アプリの操作を明確化する
など
● シナリオ・フォルダ構成を決定する
- シナリオファイルとデータファイルの位置関係(相対位置とする)
- DBが対象であれば、そのテーブルへのアクセス(ODBC定義)
など
● メイン処理の認識技術を検討する
シナリオの中心となる処理を作成していきますが、考える順番は次のように考えたほうが良いかと思います。
- 対象アプリケーションはUI認識(IEモード/イベントモード)で自動記録が可能か
- エミュレーションモードでの記録が可能か
- ユーザーライブラリーに対応機能はないか
- ファイル関連操作か
- 上記のどれにもあてはまらなければ、ノードを使って作成していく
◆ ループ化
WinActor の自動化シナリオを作成していく場合にどうしてもマニュアル(手作業)でノードを追加せざるをえないのがループ(繰返し)処理にする部分です。
- 条件分岐
- 2分岐
- 多重分岐
- 繰返し
- 繰返し
- 後判定繰り返し
- 繰返し終了(判定)
- 次の条件判定
- 例外処理
◆ 前処理・後処理の追加
通常はシナリオを繰り返し実行する為には、下記のような処理を追加する必要があります。
- 対象アプリケーションの起動処理/終了処理を追加
- 変数の集約・整理 ⇒ 同じ意味合いの変数が複数定義されていないか見直します。また、変数の定義(シナリオ全体を通して使うような変数は特にスコープを考えて)をまとめてシナリオの始めに持ってきます。
- 画像のマージ ⇒ WinActor で画像認識以外にも操作履歴が画像で保存されるため、どうしても同じ画像が複数保存されてしまいます。不要な画像は整理します。
◆ 運用移行
作成したシナリオを実運用していくには、それなりに実行環境に合わせてフォルダー構成を変更するなど考えることがあります。また、人が起動しなくてもスケジュール実行できるように Windows のタスクスケジューラーでタスク化したり、様々です。
WinActor の基本的な知識
WinActor の画面構成
WinActor をインストールして初めて起動すると、画面が複数開き、どの画面が何の為のものなのか、何処をどう触ったらいいのか中々最初判り難いかも知れません。WinActor で業務を自動化していく上で最も基本的な部分のご説明をしています。先ずはこちらからご確認下さい。
WinActor 独学・自習コース
WinActor の基本的な要素技術を習得し、シナリオを作成していく手順の解説と実際にどの様に動作するのかをご覧になれます。こちらの通りに一通り真似てシナリオを作成して頂ければシナリオ作成のイメージがつかめるかと思います。(注意:この内容だけで実用的なシナリオを作成できるわけではありません)
WinActor マニュアル
WinActor には元々インストール時からユーザーライブラリのサンプルが提供(同梱)されています。本来はユーザが独自に業務のい合わせて部品化していくべき様なものですが、標準のノード以上に使える機能が多く提供されていますので、そのユーザーライブラリの簡単なご説明・解説と一部実際にそれを使ったシナリオをご確認頂けます。
その他
その他に WinActor を使って実際にシナリオを作成していく上で必要になりそうな情報をまとめています。
- デバッグ機能
- シナリオ開発Tips
- Q&A
- WinActor_変数の扱い方・Excel操作など