RPA無料体験。WinAutomationで交通費検索ロボットをつくってみよう

たびたび話題にしているRPA(Robotic Process Automation)。無料体験できるWinAutomationでロボットをつくってみましょう。
※今は、RPAツールUiPathを使っています。
RPAツールUiPathが日本語化。UiPath再入門「ネットバンクにログインして明細を表示」 | AI時代の雇われない・雇わない生き方

IMG_4408

※名古屋のホテルにて iPhoneX

WinAutomationとは

WinAutomationとは、ギリシャのソフトウェア会社が提供しているものです。

RPA(Robotic Process Automation。ロボットによる自動化)を実践できます。
※厳密には、RPAはサーバーで動くものであり、1台のPCで動くものは、RDA(Robotic Desktop Automation)といいます。

WinAutomationの特徴は次のとおりです。

・エディション(商品)は3つ。日本円で約5万円、11万円、14万円。

・30日間無料で使える。使えるのは最も高いエディション
・すべて英語

・日本語情報少なし(英語のFAQ、フォーラムはあり)

・Windowsのみ

・ダウンロードし、インストールするソフト

エディションは、Basic、Professinal、Professinal Plusの3つで、日本円

かつ消費税込みだと、約5万円、11万円、14万円です(年間)。

purchase

私はProfessinalを買いました(107,783円)

最上位のProfessinal Plusとの違いで大きいのは、PDFをテキストにできる機能。
便利ではあるのですが、なくてもいい=別の方法でできます。
最下位のBasicとの違いで大きいのは、操作を記録できること。
通常のソフトとブラウザ上で記録できる機能があり、通常のソフトの記録はそれほど使い道がありませんが、ブラウザ上で記録できる機能は必須です。
これなしで、ブラウザ操作をするのは大変ですので、BasicではなくProfessionalにしました。

ひとまず、無料体験版でRPA、ロボットがどんなものが体験するだけでもやってみましょう。

今回の事例は、交通費検索ロボット。
Excelに入力したデータをもとに、Yahoo!検索で交通費を検索し、その金額(最も上)をExcelに貼り付けます。

Excelファイルの出発駅と到着駅を読み取って、

EX IT No 02

それを乗換案内(Yahoo!)で検索し、結果の金額を

EX IT

Excelに入れていきます。

EX IT No 01

Excel、ブラウザの操作を少しずつ使うため、WinAutomationを知るにはふさわしい事例です。

 

WinAutomationによる交通費検索ロボットの下準備

まず、下準備をしましょう。

Excelで下記のデータを準備します。

上記の事例では、複数のデータですが、シンプルにするため1つで試してみましょう。
EX-IT_No-01

入力するのは大変なので、こちらからダウンロードしていただければ。

交通費検索ロボ.xlsx

そして、WinAutomationをダウンロードします。

サイトにアクセスし、

Put your work on Autopilot with WinAutomation - Desktop Automation Software
Powerful Desktop Automation Software WinAutomation brings the benefits of Robotic Process Automation to your desktop. It offers the most powerful, robust and ea...

「Download free trial」をクリック、

trial

情報を入力すると、メールにダウンロードできるリンクが届きます。

EX-IT_No-00

ダウンロード後、インストールしましょう。

WinAutomationでつくる交通費検索ロボット

インストールが終わったら、いよいよロボットつづりです。

1 WinAutomationの起動

WinAutomationを起動すると、このような画面になります。

Examplesは勉強になるのでひととおり読んでおきましょう。

[New Robot]をクリック(Ctrl+n)し、

1

表示される画面で、ロボット名をつけ(後で変更可能)、[Robot Designer]を選びます。[Macro Recorder][Web Recorder]は、操作を記録するものです。
[Robot Designer]の中でも使えます。

EX-IT_No-12

[Robot Designer]はこういった画面です。
プログラムを書いていくわけではなく、左型のパーツ(Actions)を右側の画面(Main)にドラッグして、設定していくだけで、パズルのようにつくることができます。
プログラミングよりも敷居は低いです。

3

2 Excelを開く

ロボットの流れを考えると、
・Excelファイルを開く
・Excelからデータを読み込む
・ブラウザでYahoo!路線情報を開く
・出発駅と到着駅を入れ、検索
・出てきた金額をExcelへ書き込む
というものです。

まずは、
・Excelファイルを開く
・Excelからデータを読み込む
・ブラウザでYahoo!路線情報を開く
・出発駅と到着駅を入れ、検索
・出てきた金額をExcelへ書き込む
という流れをつくりましょう。
Excelは開くだけです。
ロボットもプログラミングも小さくつくって試しながらつくっていくことをおすすめします。

Excelファイルを開くには、[Launch Excel]アクションを使います。
ドラッグすると、次のような画面が開くので、

Inkedlaunch_LI

[Launch Excel]で、[with a blank document](新しい、まっさらなファイル)から[and open the Following Document](Excelを起動し、次のファイルを開く)を選びましょう。

次のファイルを指定します。
次のアイコンをクリックすると、

open

ファイルを指定できるので、Excelの交通費ファイル(ダウンロードしたもの)を指定しましょう。

EX-IT_No-05

OKをクリックし、ロボットを実行(次のアイコンまたはAlt+F10)すると、

jikkou]

 

指定したファイルが開きます。
ここまで動くのを確認して次へすすめましょう。

EX-IT_No-01

3 インターネットエクスプローラーの操作

Excelファイルが開いたら、次はブラウザを立ち上げます。
WinAutomationだと標準のブラウザはインターネットエクスプローラーです。
ブラウザの操作は、WebRecordinng、つまり操作を記録したほうが楽、というよりもWebRecordinngでないとできません。

次のアイコンをクリックすると、

Inked3_LI

ブラウザの操作を記録するウィンドウが開きます。
左側で操作し、その操作を右側で記録していきます。
現状は、、[Lanch New Internet Explorer](新規にインターネットエクスプローラーを起動する)という記録です。

さらに、左側のボックスに、
transit.yahoo.co.jp
を貼り付けるか、入力しましょう。
Yahoo!路線情報のURLです。

4

Enterキーを押すと、Yahoo!路線情報が開きます。

5

そして、マウスでクリックし、[出発]に「お台場海浜公園]と入れ、

EX-IT_No-02

[到着]に「新橋」と入れ、

EX-IT_No-03

[検索」をクリックしましょう。
この一連の操作を記録してくれるわけです。

EX-IT_No-04

そして、料金が出てきたら、料金へマウスでカーソルを319円の左上の歯車に近づける

メニューが出てくるので、[Extract Element Value](値を抽出する)から、[Text(”319円”)を選びます。

これで、「検索結果の一番上の金額を抽出する」という意味です。
いったん覚えて、それをExcelに書き出します。

extract

ここまで終わったら、右側の画面の[Finish]をクリックしましょう。

fin

元の画面に戻ると、一連の操作が記録されています。
もし、予定な操作が記録されていれば、選択しDeleteで消しておきましょう。

そして、[Get Details of Element on Web page]をダブルクリックして設定をします。
この過程は、「319円を抽出した」というものです。
この319円をExcelに入力するので、その319円をいったん箱に入れないといけません。

要冷蔵のケーキを保冷バックにいったん入れて、冷蔵庫に入れるような。
ごはんが炊けて、茶碗にいったん入れて、口に入れるような。
ビールをそのまま飲まずに、グラスにいったん入れて、飲むような。

その保冷バック、茶碗、グラスの名前をつけなければいけません。

kennsaku

 

それが、プログラムでいう変数です。
WinAutomationでは、[Action Output]で名前を付けます。
デフォルトだと、わかりにくいので、自分がわかりやすい名前にしましょう。
ただし、半角英数字で、変数の前後には%がつきます。
事例では「%kingaku%」としました。

hen2

 

4 Excelへの書き込み

交通費の金額(%kingaku%)をExcelに書き込んでいきます。

まず、最初に入れた[Launch Excel]をダブルクリックして、[Action Output]を見てみてましょう。
初期設定だと、開いたExcelファイルは、%Excelinstance%という変数です。
これをわかりやすいものに変えておくとロボットをつくりやすくなります。
ここでは、%Excel%にしてみましょう。
Excelに書き込むときに、どのExcelに書き込むかの指定にこの%Excel%を使います。

hen1

書き込むときには、[Write to Excel Worksheet]アクションをドラッグし、

・[Excel Instance](どのExcelへ書き込むか)に今設定した%Excel%が入っていることを確認
・[Value to Write](何を書き込むか)で、右側の歯車アイコンをクリックし、変数%kingaku%を選ぶ

hen3

そして、
・[Write Value into cell at](どのセルに書き込むか)で、金額を入れる位置、Column(列)を「5」、Row(行)を「2」にする

と設定し、OKをクリックしましょう。

cell

 

ここでロボットを実行してみます。
すると、「319円」が入っており、成功です。
が、円が入っているとExcelでは数値とみなさず、計算にも使えません。
Excelで「円」を空欄に置換(Ctrl+H)してもいいのですが、手間がかかります。
ロボットで処理する方法を考えましょう。

EX-IT_No-08

 

5 「319円」の「円」を取り除く

テキストから特定の文字を取り除くには、[Text Actions)の[Split Text]を使います。
これは指定した文字で区切る(Spilit)アクションです。
「円」で区切れば、「319円」が「319」になります。

[Split Text]をドラッグして、次の画像の位置(Get detail~。319円を抽出のあと)に入れ、
・[Action Input]の[Text to Split]に%kingaku%を入れ、
・次の項目を「Custom Delimiter」(区切り文字を指定する)
・[Custom Delimiter](区切り文字)を「円」
・[Action Output]を変数%Value%
にしましょう。

split

さらに、[Write to Excel Worksheet]をダブルクリックし、[Value to Write](何を書き込むか)の%kingaku%を%Valueに変えておきましょう。
write

これでロボットを動かせば、「319円」ではなく、「319」になります。

EX-IT_No-09

ここで、いったん完成なのですが、せっかくExcelというデータがあるのに、出発と到着駅を人間が入力するのは無駄です。
Excelから読み込んで、それを検索できるようにしてみましょう。

6 Excelからデータを読み込む

Excelからデータを読み込むには[Read From Excel Worksheet]アクションを使います。
まずは、出発駅を読み込んでみましょう。
[Read From Excel Worksheet]アクションをドラックして、
・[Excel Instance]が%Excel%になっていることを確認
・Column(列)に「2」、Row(行)に「2」を入れる
・[Action Output]を変数%from%
にします。

from

再度、[Read From Excel Worksheet]アクションをドラックして、
・[Excel Instance]が%Excel%になっていることを確認
・Column(列)に「3」、Row(行)に「2」を入れる
・[Action Output]を変数%to%
にします。

to

出発と到着をまとめて読み込むこともできますが、今回は1つずつ読み込む、シンプルな形でやりました。

 

7 Excelから読み込んだデータを使って検索する

Excelから読み込んだデータ、まずは、%from%を設定します。
WebRecordingしたプログラムの[Populate  Text Field on Web Page]で、[Text to Fill in]を見ると、「お台場海浜公園」と入っているので、これを

from1

変数%from%に変えましょう。
こうしておくと、Excelの出発駅を変えるとロボットが検索する出発駅も変わります。
ロボットを変えなくてもExcelを変えるだけでいいわけです。
そして、

from2

同じく、次の[Populate  Text Field on Web Page]の「新橋」を%to%に変えます。

 

to2

これでロボットを動かしてみて、「319」を表示できれば完成です。

EX-IT_No-09

 

 

8 試してみる

では、Excelに別の駅を入れて、保存して閉じ、ロボットを動かしてみましょう。

EX-IT_No-10

 

このように金額が入ればOKです。

EX-IT_No-11

 

 

駅名で、同じ駅名がある、検索してあいまいなものがある場合は、正しく表示できない場合もありますが、ロボット、いろいろと試していただければ。

なお、複数の検索すべきデータがある場合は、また違った処理([Loop]を使います。


【編集後記】

昨日は、名古屋へ。
個別コンサルティングを2件実施し、15時からはAI仕事術セミナーを開催しました。

懇親会、二次会と楽しみ、そのまま名古屋に泊まっています。

【昨日の1日1新】
※詳細は→「1日1新」

名古屋でAIセミナー開催
名古屋 プリンスホテル

【昨日の娘日記】

昨日は7時前に出たので、起きてくれ見送ってくれました。

夜は、19時ごろLINE電話するともう寝てたので、寝顔だけです。
今日はもっと早めにLINE電話しないと。。

(電話嫌いですが娘とのLINE電話は特例です)