Automation Anywhere(A360)をさわってみた!-レコーダー編

RPA関連ブログ

本記事では、システムエグゼで使用しているAutomation Anywhere(以下、AA)の機能を紹介します。

今回はAAのA360について、初心者向けの活用方法として、レコーダーアクションの仕組みをご紹介します。

RPAにつきましては過去ブログもぜひご参照ください。
・RPAとは?そのメリットや導入方法を徹底解説

1.A360のさまざまなアクション

A360にはさまざまなアクションがあります。
アクションとは、AAで作成したロボットが行う動作のことを指します。
具体的には、以下のようなアクションがあります。

アクション名 機能 アイコン
クリック 選択したウィンドウでマウスのクリックができる
キーストローク 選択したウィンドウで文字を入力できる
ブラウザ(ソースコードを取得) Webサイトのソースコードからプロパティを取得できる
レコーダー クリック、文字入力、プロパティ取得などができる

これらを1つのアクションにまとめたものが、今回紹介するレコーダーアクションです。

2.レコーダーアクションで使える機能

前章でも紹介したように、レコーダーアクションでは主に「クリック」、「文字入力」、「プロパティの取得」が行えます。
実際にレコーダーアクションを使用するときは以下のような画面が表示されます。

それぞれ、以下の項目を指定します。

指定項目 機能 備考
ウィンドウ 対象となるウィンドウを選択できる (一度選択したものはウィンドウ変数として指定ができる)
メイン/アンカー メインは対象となるウィンドウを選択した後、オブジェクトをキャプチャすることができる
アンカーは、メインが見つからない場合の予備オブジェクトをキャプチャすることができる
オブジェクトに実行するアクション 対象となるオブジェクトのアクション(クリック、テキスト設定など)を選択できる オブジェクトをキャプチャすると表示される
試行時間(秒) オブジェクトを探す時間を指定できる
結果を変数に保存 取得した値を変数に保存できる 一部アクションでは指定しない

では、実際にウィンドウを指定してオブジェクトのキャプチャをとってみましょう。
今回は東京管区気象台の画面を対象ウィンドウとします。

“東京管区気象台”.気象庁.https://www.jma-net.go.jp/tokyo/,(2023年11月27日参照).

マウスを取得したい位置に合わせると、現在選択できている範囲が赤い枠で囲まれます。
オブジェクトをキャプチャすると、オブジェクトに実行するアクションを選択できるようになります。

オブジェクトに実行するアクションをいくつかご紹介します。

●プロパティを取得:
プロパティ名(HTML Tag、innerHTMLなど)を選択して、その値を取得し、変数に格納できる。

●テーブルを取得:
選択した範囲をテーブルとして取得し、テーブル変数に格納できる。

テーブル変数に格納されると以下のようになります。
これで取得したテーブルの値をレコード変数に変えて、1行ずつ使うことなどが可能になります。

●テキストを設定/追加:
設定は文字の入力ができ、既に書いてあるものは上書きされる。
追加は、現在のカーソルの右隣から文字の入力ができる。
【例】 ※|はカーソル位置を表す
文字:こんにちは|
入力値:お元気ですか
とした場合、
設定:お元気ですか
追加:こんにちはお元気ですか

●クリック/ダブルクリック:
指定の場所をクリック/ダブルクリックする

クリックは種類が多く、他にも「左クリック」、「右クリック」、「テキストでセルをクリック」などがあり、用途に応じて使い分けています。

まだレコーダーで使える機能はありますが、機能の説明はここまでにして、実際にレコーダーアクションだけで動くロボットを作ってみましょう。

3.レコーダーアクションだけで動くロボットを作ってみよう!

では、レコーダーアクションだけで動くロボットを作ってみましょう。
実際、A360にはさまざまなアクションがあるので、それぞれ行いたい処理に対して適したアクションを使うと良いですが、今回は「レコーダーアクションだけでこれだけ動かせるという実感を得るために、あえてレコーダーアクションだけで作ってみました。

ロボットの流れとしては以下のような4つのステップで処理を進めていきます。

ロボットを作る際は、ロボットが何の処理を行うかをコメントに残しておくと、自分にも他人にも伝わりやすいです。
では、ロボットを作る準備が整ったので早速作っていきましょう。

まずは、ブラウザを開き、東京管区気象台のサイトを開く処理です。
今回は、タスクバーにあるEdgeをクリック、表示されたアドレスバーをクリックし、東京管区気象台ホームページのURL (https://www.jma-net.go.jp/tokyo/)を入力していきます。

レコーダーアクションを選択したら、キャプチャするウィンドウを選びます。
必要なウィンドウが選択画面に出てきていない場合は、使用したいウィンドウが画面上で開かれている状態を確認してから更新マークを押下し、ウィンドウを更新して選択できるようにします。

タスクバーをキャプチャしました。
オブジェクトに実行するアクションで「クリック」を選択し、タスクバーにあるEdgeを押下できるようにします。
Edgeを開き、同様の作業をしていきます。
Edgeの開かれた画面かからアドレスバーに対して「クリック」と「テキストを設定」のレコーダーアクションを入れました。

なるべくほしい情報が載っているURLを入力することで、ロボットが迷いにくくなります。
また、今回は直接URLをキーボード操作に入力していますが、変数に入れることで別の処理で使いたいとき、URLの使いまわしがしやすくなって便利です。
これで、第1ステップが完了しました。

第2ステップでは、東京管区気象台の新着情報を取得します。

レコーダーアクションで東京管区気象台の新着情報をキャプチャします。
このロボットでは「プロパティ取得」をつかって、文字列の変数に値を入れていきます。
文字列の新しい変数を作っていきます。
今回は「新着情報」という変数名で作ります。

変数を作成すると、「結果を変数に保存」で選べるようになるので、選択します。

取得した値は、以下のような感じで変数に値が格納されます。
この取得した値を、この後メモ帳に入力していきます。

ブラウザを閉じるための「クリック」というレコーダーアクションを入れて第2ステップは終了です。

第3ステップでは、取得した東京管区気象台の新着情報をメモ帳に入力していきます。
ブラウザを開いた時と同様に、タスクバーからメモ帳を開けるよう、レコーダーアクションを入れます。
開いたら、次は入力できるようにテキストを設定するレコーダーアクションを入れていきます。

テキストを設定するためにメモ帳の画面をキャプチャして、「テキストを設定」を選択します。
先ほど取得した変数の値を入力するために、キーボード操作に変数を入れます。
任意で入力速度を調整します。
初期状態だとかなり速いので、入力速度を設定すると入力が安定します。

これで第3ステップは完了です。

最後にメモ帳の内容を保存してメモ帳を閉じるようにします。
レコーダーアクションのテキストの設定で「[CTRL DOWN]s[CTRL UP]」を入力できるように設定します。

名前をつけて保存のウィンドウを表示させ、ファイル名を入力できるようにします。
ファイル名のバーをキャプチャし、「テキストを設定」でファイルパスを入力します。

実際に画面上でも保存を行い、最後にメモ帳を閉じる処理を行うためのキャプチャを取ります。
この時、保存が終わるとウィンドウタイトルが変わってしまいます。

保存前 保存後

ウィンドウタイトルが変わってしまうと、レコーダーでキャプチャした際に、同じメモ帳を開いていても「ウィンドウタイトルが違う」とロボットが認識してしまうため、ウィンドウタイトルを編集します。

編集前 編集後

「*」を使うとワイルドカードとして使用できます。
ワイルドカードの部分は任意の文字として扱われるため、ウィンドウタイトルが変わっても、同じメモ帳としてロボットが認識してくれます。
最後にメモ帳を閉じるための「クリック」レコーダーアクションを入れて第4ステップは終了です。

これでロボットが完成しました。
実際に動かしてみましょう。

4.ロボットを動かしてみた結果

完成したロボットは以下のようになりました。
ブラウザの読み込みを安定させるために、ロボットの動きを一定時間止める遅延アクションを入れました。

ロボットを動かす手段として2つあります。

機能
実行 ロボットを止めずに最初から最後まで動かせる
デバッグ 止めたいところにブレークポイントを貼り、
処理中にロボットの動きを止めることができる。
また、止めたときに変数の中身が確認できる。

今回は実行で動かします。

無事、文字列変数に入れていた値が入力され、東京管区気象台の新着情報.txtに保存することができました。

5.おわりに

今回は、取得した値を変数にそのまま入れて、メモ帳に入力して保存しただけですが、文字の体裁を整える処理を入れたり、保存方法を変えてExcelに貼り付けたりすることも可能です。
ロボットに行わせたい処理に応じて、さまざまな機能を試してみてください。

RPA(Automation Anywhere)の導入をご検討の際は、システムエグゼまでお気軽にご相談ください。