ITで業務自動化を実現する(3) RPAツール「WinActor」によるシナリオの作り方と実務での使用例(動画あり)
RPAが普及し始めて、いざ自社で導入検討しようと思っても、実際にどうやって作って、どのような業務で活用できるのかを具体的にイメージできないというご担当者の方も多いと思います。
そこで今回は、多くの企業で導入されているRPAツール「WinActor」を使った業務自動化の具体的な事例を、動画を交えてご紹介していきたいと思います。
目次
RPAツール「WinActor」の基本機能
まず、RPAツール「WinActor」の基本機能をご説明します。
画面構成
WinActorの画面構成です。
主に使用するウィンドウはフローチャートのウィンドウになります。
フローチャート内の左側にある機能一覧から機能を選択し、右側の部分にドラッグ&ドロップしてフローを設定していきます。
早速、簡単なシナリオを作りながらご説明していきます。
メモ帳に文字を入力する操作を自動化する
1)まず、WinActorを起動して、先ほどの図の画面を表示させます。
2)次にWinActorの「文字列送信」をドラッグ&ドロップで設置します。
3)ダブルクリックで文字列送信のプロパティを表示します。
4)Windowsのメモ帳を開きます。ウィンドウ識別ボタンを押してメモ帳を指定し、対象コントロール指定を押してメモ帳の入力ウィンドウを指定します。
5)送信文字列の「値⇒」を選択し、その次に「RPAとはRobotic Process Automationのことです」と入力して、OKをクリックします。
6)実行ボタンを押すと、自動でメモ帳に文字列が入力されます。
Web上の入力欄に文字を入力する
Google検索画面に文字列を入力して検索ボタンを押すというシナリオを作成します。
- Google検索画面をIEで開きます。
- WinActorの記録対象アプリケーション選択ボタンをクリックし、Webページを選択します。
- 操作を記録するために、記録ボタンをクリックします。すると、フローチャートに新しいグループができます。
- 検索ウィンドウに文字列をを入力していくと、今の操作がフローチャート画面に記録されます。操作が完了したら停止ボタンをクリックします。
- 作成したグループをシナリオにドラッグ&ドロップします。
- 実行ボタンを押すと先ほどの操作が自動実行されます。
WinActorには画像を認識して操作位置を指定する「画像マッチング」という機能があります。上記の「Web上の入力欄に文字を入力する」でご紹介した『Google検索画面に文字列を入力して検索ボタンを押す』というシナリオのうち『Google検索画面に文字列を入力する』操作を「画像マッチング」機能を使って設定してみたいと思います。
画像マッチング機能
1)画像マッチングをフローに組み込みます。
2)画像マッチングのプロパティを開きます。
3)ターゲット選択ボタンを使って、対象ページを指定します。
すると、指定したページがプロパティ内のウィンドウに表示されます。
4)プロパティ内のウィンドウに表示された画像の認識させる部分をマウスで範囲を指定します。ここでは「Google」(水色で囲った部分)を指定します。
- 十マークをクリックすると、4)で指定した画像からの相対的な位置をマウス操作位置として指定することができます。そしてプロパティ画面の下にある「アクション」「結果」を入力してOKボタンをクリックします。
変数の登録に関するウィンドウが出るのでOKをクリックします。
これで、該当ページの十字マークで指定した場所にマウスをクリックした状態にするシナリオが完成しました。
画像マッチングと文字列送信
Google検索画面に「RPA」と入力して、検索ボタンをクリックして検索結果を表示させるというシナリオを、画像マッチングと文字列送信を組み合わせて作成します。
- 先ほど作成した画像マッチングの次に、文字列送信を追加します。
- 文字列を入力すると検索候補が出てくるので、解除するためにウィンドウ内の任意のポイントをクリックする操作を画像マッチングを使って作成します。
- 画像マッチングでGoogle検索ボタンをクリックする操作を作成します。
- 必要に応じて、指定時間待機の設定をします。
これで、Google検索でRPAを検索するシナリオが出来上がりました。
ライブラリの活用
これまでご説明したような作成方法のほかにも、WinActorでは豊富なライブラリが標準で用意されており、実行したい操作をライブラリから選択してドラッグ&ドロップするだけでフローに組み込むことが可能です。
ライブラリは「スクリプト実行」機能で作成されたテンプレートのようなもので、「スクリプト実行」機能とはVBScriptで記述したスクリプトをWinActorの中で実行する機能です。
もちろんスクリプトを自身で記述することも可能ですが、ライブラリを活用すれば、難しいプログラミングを書く必要はありません。また、ライブラリにあるスクリプトに手を加えてより高度なシナリオを作成することも可能です。
このような基本的な操作を組み合わせて、WinActorでシナリオを作成していきます。
RPAツールで作るシナリオ実例
それでは実際の業務で使用できる、具体的な実行シナリオを見ていきましょう。
作例① 勤怠一覧をダウンロードし、超過者がいる場合メールする
本シナリオは、
- ブラウザを起動して、業務システムにログインする
- 業務システムから勤怠状況一覧をダウンロード
- その中から過重労働者の情報を抽出、ファイル作成
- 作成したファイルをメールで送信
という流れのシナリオを実行します。
それではまず初めにどのような動きをするか動画で見てみましょう。
このシナリオの作成過程について、以下に詳細をご説明します。
GoogleChromeの起動から業務システムを開く
フロー
GoogleChromeを起動
ここではスクリプト実行機能を使います。
図のように、スクリプトを書いて操作する機能ですが、WinActorには先ほどご紹介したライブラリが充実しているので、実際はライブラリからブラウザを起動するためのスクリプトをドラッグ&ドロップするだけで同様のフローが作成でき、GoogleChromeを開くことができます。
指定した時間待機する
ブラウザが開くまでの時間を待機するために指定時間待機機能を使います。
GoogleChrome最大化
エミュレーション機能(対象ウィンドウを選択して、そこで操作したマウスやキーボードの動きを記録する機能)を使います。ここではGoogleChromeが表示されているウィンドウを最大化する操作を登録します。
クリップボードにURLを設定
文字列をクリップボードに設定する機能を使って業務システムのURLを設定します。
GoogleChromeに貼り付け
エミュレーション機能を使ってクリップボードの文字列をブラウザに貼り付ける操作を登録します。
ウィンドウ状態で待機する
業務システムが開くまで待機する設定をします。
業務システムにログインする
フロー
ここでは、画像マッチングやエミュレーション、クリップボードの機能を使って、業務システムのログイン画面で必須事項を入力、チェックしてログインを実施します。
業務システムのログイン画面はこちら
この画面内にある、「規約」にチェックして、「User account」「Password」に入力します。
流れとしては、以下のようになります。
画像マッチング機能で規約にチェックする
画像マッチング機能でUser accountにカーソルを合わせる
User accountに既に文字列が入力されていることがあるので、エミュレーション機能でUser accountをクリアするための操作を登録する
クリップボード機能でUser accountをクリップボードに設定する
エミュレーション機能でUser accountを貼り付け
画像マッチング機能でPasswordにカーソルを合わせる
クリップボード機能でPasswordを設定する
エミュレーション機能でPasswordを入力する
※上記操作につきましては、これまでに出てきた機能を活用することでシナリオが作成可能です。
同一ログインがないかを確認する(分岐機能)
User accountとPasswordを入力してログインをする際に、既に同一アカウントでログインしているユーザが存在する場合、既にログインしているユーザをログオフしてログインするかどうかを聞かれます。
同一アカウントでログインしているユーザが存在しない場合は聞かれません。
このようにケースによって操作が分かれる場合は「分岐」を使います。
条件がTRUE(同一ログインがある)の時は、画像マッチングを利用して、過去のログインをキックする(「既にログインしているユーザをログオフしてログインする」に対して「はい」をクリックする)
条件がFalse(同一ログインがない)の時は聞かれないのでそのまま待機する
というシナリオを挿入します。
これで業務システムへのログインが完了しました。
勤怠状況ダウンロード
業務システムの「勤怠状況一覧」を開き、「全件出力」をクリックします。
業務システムの画面はこちら
フローは下図の通りです。
流れは以下のようになります。
指定時間待機機能で3秒待機する
画像マッチング機能でメニューにカーソルを合わせる
クリップボード機能で値に「勤怠」を設定
エミュレーション機能で貼り付け
ウィンドウ状態待機
指定時間待機昨日で2秒待機する
画像マッチングを利用して勤怠状況一覧を開く
ウィンドウ状態待機
画像マッチングを利用して全件出力をクリックする
これで、勤怠状況一覧を出力できます。
※ファイルが正しくダウンロードできるまで操作を繰り返すため、
繰り返し機能と分岐機能を利用したフローを入れています。
フォルダにエクセルファイルが無い場合(TRUE)は繰り返し
フォルダにエクセルファイルがある場合(FALSE)は繰り返し終了
というシナリオを挿入します。
ダウンロードしたファイルから送信用ファイルにコピー&ペーストして、ダウンロードしたファイルを削除する
ここでは、ライブラリを利用して、エクセルファイルのデータを操作します。
流れは以下のようになります。
ダウンロードファイルからコピー
超過チェック用にペースト
ダウンロードファイルを閉じる
ダウンロードファイル削除
この操作に該当するライブラリを選択し、シナリオに挿入します。
超過チェックとメール送信
エクセルのフィルタ機能で過重労働者を絞り込む作業を、登録したマクロで実施します。
勤務時間が基準時間を超過している者がいればメールします。その後ファイルを閉じて、ブラウザを閉じて終了します。
フロー
流れは以下のようになります。
ライブラリよりマクロ実行に関するデータを選択してドラッグ&ドロップした後、作成したフィルタを実行するマクロを登録します。
超過者がいるかチェックする方法として、分岐を使ったフローを作成します。
下図エクセルファイルの「判定」列にフィルタリング後に記載があれば、送信対象とする
分岐条件:超過者がいない場合はTRUE、超過者がいる場合はFalse
Falseの場合は、メール送信用にエクセルファイルを保存して、メール送信後、送信済みファイルを削除する
フロー
シナリオ作成方法は、ライブラリからファイルの保存、メール送信、ファイル削除に関するスクリプト実行機能をドラッグ&ドロップしてフローを作成する。
ここまで完了したら、ライブラリから以下の操作を選択しドラッグ&ドロップします。
ファイルを閉じる(保存しない)
Excelを閉じる
GoogleChromeを閉じる
もう一度動画を見て動きを確認してみましょう。
まとめ
RPAツールの使用方法は企業によって様々ですし、考えればいくらでも出てくるでしょう。
それゆえに、具体的な使用用途が定まらず、検討を躊躇してしまうケースもあると思います。
本サイトでご紹介する動画やシナリオ事例をヒントに、自社でのツール使用のイメージを掴んでいただければと思います。
次回、後編では「得意先登録」「出退勤打刻」「売上分析」「勤怠一括取込」についてのシナリオをご紹介します。
※記載の社名・製品名は各社の商標または登録商標です。
筆者プロフィール
- 家電量販店でウィンドウショッピングするのが好きです。
最新記事一覧
業務の自動化を実現する「WinActor」
製品サイトではWinActorのシナリオを実行した動画などを数多くご紹介しています。ぜひご覧ください。