RPA(UiPath)の導入から自動化ツール作成までをやってみた

Excelマクロのように自アプリケーション内で自動化をしてくれるツールは複数あるが、他アプリケーションとの連携を自動化してくれるRPA(Robotics Process Automation)は、更なる効率化が期待でき、注目されている。
例）Excelのリスト内容をIEブラウザで調べて、Excelに情報を張り付け資料化する等
![1082505.jpg](https://qiita-image-store.s3.amazonaws.com/0/235933/61d9f9b5-a7d3-407f-b0d6-c21993b765bb.jpeg)

私も、RPAの恩恵を実感したく、数あるRPA作成用ツールの中で、無料で利用できるUiPathを使用し、自動化ツールを作成することにした。
今回は、使用するPCへ影響を及ぼすことも考慮し、仮想環境を構築し、その上で動作確認を行う。

手順は以下
①仮想環境構築(Windows環境構築)
②VirtualBox Guest Additionsの設定
③Microsoft Officeの導入
④UiPathのダウンロード/インストール
⑤基本操作方法
⑥自動化ツール作成

##前提条件
VirtualBoxが使用するPC環境にインストール済みであること。

私の環境は、以下のようになる。
・Windows10 64bit
・VirtualBox-5.2.16

①②③④に関しては、参考資料の手順を参考に作業を行なった。
私は、新しく購入したノートPCに不具合を起こしたくなくて、検証用の仮想環境構築から行ったが、かなり面倒臭い。この手順に4時間以上は掛かったと思う。面倒で気にしない人は、④の手順から始めて自分のホストPCで直接RPAの作成や検証をしても良いと思う。
同僚で、直接ノートPC上で作成・検証した人の話では、問題なかったそうだ。私は保証は出来ませんが、、、

##⑤操作方法の確認
###◆起動
[![Image from Gyazo](https://i.gyazo.com/6d4acd8fafe40ce86551267b843e7dc2.png)](https://gyazo.com/6d4acd8fafe40ce86551267b843e7dc2)

UiPathを起動すると以下のようなポップアップが毎回表示される。"Continue Free"を選択する
[![Image from Gyazo](https://i.gyazo.com/e3fce238d8df1477a05ec14629ac6a0a.gif)](https://gyazo.com/e3fce238d8df1477a05ec14629ac6a0a)

###◆プロジェクトの作成
UiPathには複数のひな形が用意されている。

Blankを例に作成する。
プロジェクトの一覧からBlank押下
[![Image from Gyazo](https://i.gyazo.com/b3f0cc494a81358631f685349bc13c8d.png)](https://gyazo.com/b3f0cc494a81358631f685349bc13c8d)

プロジェクト名、プロジェクトフォルダの場所、プロジェクトの説明を入力し、Createを押下
![image.png](https://qiita-image-store.s3.amazonaws.com/0/235933/23df7409-26bc-c44c-52cc-198f089bbae0.png)

プログラム作成用の画面が表示される
[![Image from Gyazo](https://i.gyazo.com/4dea7ecb4238908661952078dd7f2197.png)](https://gyazo.com/4dea7ecb4238908661952078dd7f2197)

種類毎の違いは下記のようになる。

***・Blank***
まっさらな状態のプロジェクト

***・Simple Process***
フローチャートと簡易な分岐が用意されているプロジェクト

***・Agent Process Improvement***
ユーザのクリックやキー入力で処理が実行されるプロジェクト

***・Robotic Enterprise Framework***
大規模なプロジェクトで使用。業務で使用するエラー発生の場合の処理や初期化設定などが含まれている


###◆Activityの作成
左側にあるActivitiesと書かれた欄の下にあるボックスに"message box"と入力する。
すると、以下のように赤文字でMessage Boxが表示される。

[![Image from Gyazo](https://i.gyazo.com/31c8f333f7cbbe638a5b9a7c5cbac020.png)](https://gyazo.com/31c8f333f7cbbe638a5b9a7c5cbac020)

それを中央の「Drop activity here」と書かれた領域にドラッグ&ドロップする。
[![Image from Gyazo](https://i.gyazo.com/9b4a73362aa2ea49c1574cba14da6747.gif)](https://gyazo.com/9b4a73362aa2ea49c1574cba14da6747)

これにより、ボックスが中央のウインドウに表示される。このようなボックスを"Activity"といい、処理を行う最小の構成要素になる。
UiPathはActivityを繋げていくことで、自動化プログラムを作成していく。

###◆実行
先ほど作成したボックスの内容にHello World!と表示されるように以下のように入力した。
[![Image from Gyazo](https://i.gyazo.com/5712ff62662110f575658c7d371acae7.png)](https://gyazo.com/5712ff62662110f575658c7d371acae7)

ボックスに入力する時のルールは文字列を""(ダブルフォーテーション)で囲うこと。

デザインタブのRunボタンを押して実行する
[![Image from Gyazo](https://i.gyazo.com/4af0a3c2795561c141174f3ae5e1deba.gif)](https://gyazo.com/4af0a3c2795561c141174f3ae5e1deba)

入力したメッセージのポップアップが表示された。

###◆FlowchartとSequence
Activityを繋げていく基本的な方法として、FlowchartとSequenceの2つがある。

[Flowchart]
[![Image from Gyazo](https://i.gyazo.com/d8822dbcdfb05b30e1e81d6410355af9.png)](https://gyazo.com/d8822dbcdfb05b30e1e81d6410355af9)


[Sequence]
[![Image from Gyazo](https://i.gyazo.com/dd96de797791d62737954c9c8e3503eb.png)](https://gyazo.com/dd96de797791d62737954c9c8e3503eb)


複雑な処理は、Flowchart。シンプルな処理はSequenceのようだが、Sequenceを使っても条件分岐のようなことは出来るようだ。
追加方法としては、Activityの作成同様、ボックスにFlowchartやSequenceと入力してドラック&ドロップするだけである。
[![Image from Gyazo](https://i.gyazo.com/801104bf88c06b156df727e42fda21b3.gif)](https://gyazo.com/801104bf88c06b156df727e42fda21b3)


##⑥自動化ツール作成
今回、作成してみたツールは、任意の検索ワードをgoogleで調べ、調べた情報をCSV出力するツールだ。
以下に作成したツールを載せる。
[Web検索ツール](https://github.com/shimatter/UiPath.git)

###ツール実行用環境の設定
このままでは、開発用アプリを起動してからでないと実行できない為、ツールとして実際使用できる状態にするために、以下の手順も行なった。
・UiRobot.exeの実行
私の場合は、以下の格納先にexeファイルがあった。
C:\Users\ユーザ名\AppData\Local\UiPath\app-XX.X.X\UiRobot.exe

exeを実行後、右下のタスクバーを確認するとUiPathのアイコンが追加されている。そこをクリックするとツールが実行されるようになる。
[![Image from Gyazo](https://i.gyazo.com/80c4f88104f50bcfdcee976522114242.gif)](https://gyazo.com/80c4f88104f50bcfdcee976522114242)」

ちなみに出力されたCSVファイルがどこに保存されたかが分かりづらかった。私の場合は、以下の格納先にあった。
C:\Users\ユーザ名\\.nuget\packages\ツール名\1.0.6805.27057\lib\net45


大まかな流れが分かってしまえば、結構簡単に導入できる印象だった。excelマクロより覚えることは少ないし、事務系の自動化には役立ちそう。皆さんも気が向いたら試してみてください。

##参考資料
[【初心者向け】UiPathによるRPA実装](https://www.closetoyou.jp/uipath/introduction-to-uipath01/)
[UiPathを導入して実際に動かす詳細手順(Windows10)](https://www.beex-inc.com/blog/how-to-setup-uipath-on-windows10/)