DX推進！RPA（UiPath）を利用した業務自動化・効率化の一例をご紹介！

![4066116_m.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2633992/675d24d2-8bdd-7a3b-3d54-2ebb95136f6b.jpeg)
RPAを用いた自動化によるデジタルトランスフォーメーション（DX）推進は時代の潮流となっています。
株式会社エスプリフォートにてDX推進しているうちの数多とある一つとして、代表的なRPAの一つであるUiPathを利用した業務の自動化を進めている一部について、狭い範囲ではありますがご紹介いたします。
RPAによるDX推進の可能性と面白さを感じていただければと思います。

# 開発環境
・Windows 11 Home
・UiPath Studio 2022.4.4 Community License 
・Microsoft Office Home and Business 2019

# 業務自動化としての具体的な内容
代表的なRPAツールであるUiPathを利用して、業務で発生しうる以下の流れを自動化します。
1. お客様から頂いたExcelファイルの情報を読み込む
2. Excelファイルの情報をもとに補足情報を取得するためにWebにアクセス
3. Excelファイルの情報を検索キーワードとしてWebで検索
4. Webで検索した結果から情報を取得
5. Excelファイルに補足情報を書き込み

今回はいきなり実装するのではなく、その前に技術的に実現できるかを確認するために検証用サイトを立ち上げました。
入力項目と出力項目を持ち、送信ボタンを押下することで出力項目に入力項目のハッシュ値を表示する簡易的なものです。
今回はUiPathの最も簡単なワークフローであるシーケンスで自動化をできることを確認していきます。
### 今回試すこと図解
![今回試すこと図解](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2633992/953cc31a-e85e-cb38-910e-f558e683c65d.jpeg)
# 実践！
今回試すことを実現するために、UiPathのシーケンスに追加するアクティビティと設定値を以下に示します。
## 1.Excelファイルの情報を読み込む
### 1-1.Excel プロセス スコープ アクティビティ
![001.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2633992/f51bce13-866c-769f-bc2f-583c5034b8c4.jpeg)
シーケンスの最初に追加します。
Excelに関連するするアクティビティを利用する際に必要になるアクティビティとなります。
特に必要な設定はありません。

### 1-2.Excel ファイルを使用 アクティビティ
![002.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2633992/fa0ce163-3c98-709d-cbe3-bc4847f779d3.jpeg)
「Excel プロセス スコープ」アクティビティの中に追加します。
「Excelファイル」の項目にデータ読み込み対象となるExcelファイルのフルパスを記述します。
「参照名」の項目に指定した名前でExcelにアクセスすることが可能となります。

### 1-3.繰り返し (Excelの各行) アクティビティ
![003.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2633992/e66e0ccf-4204-f633-728f-782cfeb31230.jpeg)
「Excel ファイルを使用」アクティビティの次に追加します。
「対象範囲」に情報を取得するExcelの行を指定します。
C#でExcelを操作した経験があれば直接入力することも可能ですが、+を押下することで簡単に対象をExcelファイルからマウスで選択することも可能です。
対象範囲で指定した範囲の各行を1行づつ繰り返して処理を行うのですが、繰り返し項目に指定した名前で処理対象行にアクセスすることが可能となります。

## 2.Excelファイルの内容をWebサイトに入力
![004.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2633992/9965cdd0-9e15-44a3-4c72-e08fd9d9241f.jpeg)
### 2-1.アプリケーション/ブラウザーを使用 アクティビティ
「繰り返し (Excelの各行)」アクティビティ の中に追加します。
Webブラウザをはじめアプリケーションを使用する際に利用するアクティビティです。
アクティビティを追加することで、自動化するアプリケーションを指定することを促されますので、Webブラウザを開いて
選択しましょう。
UiPathでInternet Explorerを除くWebブラウザを利用するためには、拡張機能のインストールと有効化が必要となります。
「ブラウザの URL」項目にアクセスするWebサイトのURLを指定することで、自動的に指定したWebブラウザでWebサイトにアクセスします。

### 2-2.文字を入力
![005_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2633992/5d7e0b77-f832-0c26-78d5-aa72259fda5b.jpeg)
「アプリケーション/ブラウザーを使用」アクティビティの中に追加します。
Webサイトをはじめ、特定項目に文字を入力する際に利用するアクティビティで、項目を特定する情報を設定する必要があります。
UiPathではWebサイト上の項目をマウスで選択することで、自動的に入力項目を特定するセレクターを解析して設定してくれます。
プログラムの知識が薄いとセレクターの指定は難しいため、これは非常に助かります。
「以下を入力」項目に入力する文字を指定します。
今回はExcelファイルの指定した範囲内にある行のうち、"入力値"列のデータをRPA検証サイトの"入力項目"に設定します。

## 3.Webサイトのボタンを押下
### 3-1.クリック
![006.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2633992/86208aa5-7f44-57f6-b623-7ae67ae20557.jpeg)
「文字を入力」アクティビティの次に追加します。
Webサイトをはじめ、特定項目をクリックする際に利用するアクティビティで、やはり項目を特定する情報を設定する必要があります。
やはりWebサイト上の項目をマウスで選択するだけで設定可能です。
RPA検証サイトの「送信ボタン」を設定することで、自動的にボタンを押下します。
取得したテキストは「保存先」項目に指定した変数に保存されます。

## 4.Webサイトから情報を取得
### 4-1.変数を追加する
![007_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2633992/b6400298-8ffc-2d2a-22e0-50eb91201fcb.jpeg)
Webサイトに表示されているデータを格納する変数を設定します。
UiPath下部の引数タブを押下して名前と方向、引数の型、規定値を設定します
今回は文字列を格納するString型の変数outTextを設定しました。

### 4-2.テキストを取得
![007_2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2633992/1e3903e8-aae4-8387-7cbe-50e5a416e021.jpeg)
「クリック」アクティビティの次に追加します。
Webサイトをはじめ、テキストを取得する際に利用します。
こちらについても取得するテキスト項目を特定する情報を設定する必要がありますので、Webサイト上の項目をマウスで選択することで設定します。
「保存先」項目には取得したテキストの保存先を設定するため、先ほど追加した変数outTextを指定しています。

## 5.Excelファイルに情報を書き込み
### 5-1.セルに書き込み
![008.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2633992/2c94f6ef-5b8d-6bea-adeb-a33d4725f427.jpeg)
「テキストを取得」アクティビティの次に追加します。
Excelのセルに書き込む際に使用し、セルに「書き込む内容」とセルの場所「書き込む場所」を設定します。
「書き込む内容」にはWebサイトに表示されており、取得したテキストの内容である変数outText、
「書き込む場所」はExcelファイルで処理中の行の"出力値"列を示す、CurrentRow.ByField["出力値"]を指定しました。

## 実行結果
![009.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2633992/13576d17-f738-1098-bda6-ff2340f52caf.jpeg)
これまでに作成したシーケンスを実行することでExcelファイルの入力値列に記載されている情報を元に検証サイトで出力されたハッシュ値を出力値列に設定することができました。
非常に簡単な操作でExcelとWebサイトに関する操作を自動化できましたね！

# おわりに
UiPathはRPAの分野で非常に注目を浴びており、C#をはじめとしたプログラム言語の知識がほとんどなくとも直感的な操作で定型作業を自動化可能なノーコード/ローコード開発を行うことできます。
今回は、非常に簡単な操作で業務でも頻繁に発生しうるExcelデータをWebシステムへ投入すること、Webシステムの結果データをExcelへ入力することができました。

業務の自動化を推進していくためにはプログラム知識だけではなく、RPAツールへの十分な理解が必要となりますが、作業時間の短縮、工数削減、ヒューマンエラー削減などといったコストに対する見返りは十二分以上に見込めることは明らかです。

エスプリフォートでは業務の自動化だけでなく、開発面におけるテストの自動化など多岐にわたったDX化を引き続き推進していきます。

https://www.esprit-fort.co.jp/

https://www.esprit-fort.co.jp/recruit/