【はじめてのUiPath】RPAで「Excelから特定の列のデータを取り出す！」を実装してみる

RPAツールであるUiPathを使用して、自動的にExcelから特定の列のデータをとってきたいと思います！


# Excelを用意する

中身は何でもいいんです。
超適当に書きましたので、あまり中身を見ないでくださいｗ

これは、**1行目にタイトル、2行目以降にデータを格納しています**

![data.xlsx - Excel 2019_04_29 13_35_23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/238739/b2e779ef-c3bc-2148-81b0-4d378f06b080.png)


そして、この「data.xlsx」を、適当なところに保存します。

※どこに保存したかは覚えておいてください！


# Uipathで実装するぞー！


## 1. Uipath Studioを開いて、新しいプロセスを用意する

Uipath Studioを開いたら、「プロセス」をクリックします。

![UiPath Studio 2019_04_28 13_47_38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/238739/8ad13e42-09a9-cc00-8d1c-0aa43789776f.png)


## 2. 適当に名前をつけて、プロジェクトを開始する

僕は「Excelからデータをとる」という名前でプロジェクトを作りました

なんでもよいです！

![新しい空のプロセス 2019_04_29 13_38_33_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/238739/195cae0f-5347-80d8-b322-2a12527b0152.jpeg)


## 3. アクティビティパネルから「シーケンス」をとってくる

左側にあるアクティビティパネルから**シーケンス**を検索して、ドラッグアンドドロップでデザイナーパネルに投下します。

![スクリーンショット (10).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/238739/5b0d7643-455b-955f-33b9-e2ceaa2c190c.png)

## 4. 「Excel　アプリケーションスコープ」をシーケンスの中に作る

左側にあるアクティビティパネルから、**Excel アプリケーションスコープ**を検索して、デザイナーパネルのシーケンスの中にドラッグアンドドロップします。

![スクリーンショット (11).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/238739/c3f538c7-df2e-2d4c-f2fe-44f8bc77a663.png)



## 5. Excelファイルのパスを指定する

Excelアプリケーションスコープで、下の画像の「ココ」と書いてある部分をクリックして、最初に用意したExcelファイルを指定してください。

![UiPath Studio - Excelからデータをとる 2019_04_29 13_48_07_LI (2).jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/238739/b38f72b8-b5cd-d25c-1c6f-c744e27d1d19.jpeg)

こんな感じになったでしょうか！

![スクリーンショット (12)_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/238739/0841960a-3f43-9b9e-c532-06c72d85a378.jpeg)


## 6. アクティビティパネルから「範囲の読み込み」を追加する

アクティビティパネルで「範囲の読み込み」を検索して、「Excel アプリケーションスコープ」の「実行」の中にドラッグアンドドロップします。

もとから"Sheet1"と書いていますが、Excelのシート名を変えた方はそのシート名を記入してください。
僕は"sheet1"のままなので、このままでいきます。


![スクリーンショット (13)_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/238739/cdee7b74-3a30-d864-c4a5-ad78799bc4c3.jpeg)


## 7. 読み込んだデータを変数にいれる

6番で行った「範囲の読み込み」でゲットしたデータを変数にいれます。

1. 先程の「範囲を読み込み」の上でクリックします
2. プロパティパネルの「出力」の文字入力部分をクリックして、Ctrl + Kを打ちます
3. 「変数を設定」というメッセージが出た状態で、変数を入力します。（僕は「data」にしました。変数なので、自分が分かりやすい名前で大丈夫です！）


![スクリーンショット (14)_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/238739/5a480c82-de72-fe3f-8977-24dac534697a.jpeg)


ちなみに、さっき作成した変数「data」は左下にある「変数」をクリックしたら確認できます。変数が作れていますね！

![スクリーンショット (15)_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/238739/e889203b-b69a-f355-89b7-e4401beeadc4.jpeg)


## 8. アクティビティパネルから「繰り返し（各行）」を持ってくる

アクティビティパネルで「繰り返し（各行）」を探し、範囲を読み込みの下にドラッグアンドドロップします。

**コレクション**と書かれているところには、先ほど宣言した変数をいれます。

**変数data**はExcelで作ったテーブルのデータが入っています。

それを一行ずつ順番に処理をして、rowという変数にいれていくという意味です。

![スクリーンショット (17).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/238739/3af0716d-8bb4-a478-3ff4-ca6163788083.png)


## 9.アクティビティパネルから「メッセージボックス」を持ってくる

アクティビティパネルで「メッセージボックス」を探し、bodyの中にドラッグアンドドロップします。

どのようなメッセージを表示させるかという部分では、僕は「"1列目のデータは" + row(0).ToString + "です"」にしました。

`row(0).ToString`は、1列目を文字列として表示することを意味しています。つまり、2列目を表示したければ`row(1).ToString`になります。

![スクリーンショット (19).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/238739/84ee1a93-1e9d-9667-9b83-0e827b1870f6.png)


## 10. 実行してみる

F5キーを押すだけで、実行されます！

デスクトップを隠すためにメモ帳を開いているので、メモ帳は無視してください。

OKをクリックするたびに、1列目のデータが順番に表示されます！！

![スクリーンショット (20).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/238739/2769fc58-960d-d96f-0890-aad792d5bbc3.png)
![スクリーンショット (21).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/238739/25e94253-ff0d-647f-b7f2-1487cc418e01.png)
![スクリーンショット (22).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/238739/eead0882-6b4b-d864-0e6c-b776c8b5c955.png)
![スクリーンショット (23).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/238739/4383716c-d6cb-e903-1ee5-4d9fd56e1e1d.png)
![スクリーンショット (24).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/238739/8c64e60a-f87f-2f37-e441-c479dd103559.png)


#おわりに

この技術をマスターすれば、例えば、Excelにメール送信リストのデータをいれて、メール送信が自動化できますし、

Excelにテスト用のユーザー名やパスワードをいれておけば、自分が作成しているwebアプリの会員登録テスト、ログインテストなども自動でできます！！


すごいっすね！RPA！

というわけで、これでおわりです！