UiPath Excelの情報をWeb画面に転記するサンプル
これまでExcelとWebブラウザの自動操作を紹介しましたが
実務ではExcelなど、他のアプリケーションと組み合わせることが多いでしょう。
この記事ではブラウザとExcelを組み合わせて自動操作する実用的な例を紹介します。
作成する自動化ツール
多くの場合、Web画面を使用する前にユーザ情報を入れてログインします。
サンプルとして最初にログインを自動的に行います。
(実務上は自動化しないことも選択肢です)

このような情報登録フォームにUiPathで自動入力をしていきます。
ここでの「性別」入力により、自動化の重要な要素である
判断(ExcelのIF関数に近い物)を用いてみます

入力する情報はExcelから取り込みます。
シートごとに情報が記載されていて自動的に全てのシートからWebフォームに情報入力します。
ここで自動化の重要な要素である繰り返し(ループ)を用います。
このようなルーチンワークミスなく疲労なく繰り返すことが自動化の最大の利点です。

作成手順
初期設定
新規のプロジェクトを作成し、下の「アクティビティ」タブを選択し
「ワークフロー」より「制御」を開きます。
「シーケンス」アクティビティが表示されるので
それをデザイナーパネルにドロップします。

「デザイナー」パネルに「シーケンス」が追加されます。
この「シーケンス」は幾つか作るので「全体シーケンス」と名前を変えておきます。

次にこの「全体シーケンス」に変数を用意します。
名前 | 変数の型 | スコープ |
---|---|---|
Password | String | 全体シーケンス |
お名前 | String | 全体シーケンス |
都道府県 | String | 全体シーケンス |
性別 | String | 全体シーケンス |
希望 | String | 全体シーケンス |
全てのシート名 | List<String> | 全体シーケンス |

「変数の型」にList<String>は表示されていないので
「型の参照」を開いて検索する必要があります。
下記のように「List<」で検索してList<T>を選び、
セレクトボックスでStringを設定します。

ブラウザを開きログイン
業務で使用するWebシステムでは多くの場合でログインが必要です。
そこでブラウザを開きログインを行う必要があります。
まずは「ブラウザーを開く」を「全体シーケンス」にドロップします。

「ブラウザーを開く」アクティビティの中にURLを入力する欄があるので開きたいページを入力します。
こちらにテスト用のフォームを用意してあるので使用いただければ幸いです。
ログイン機能はありませんが、IDとパスワードを入れてボタンを押す流れは同じです。
(このフォームでは管理人に空メールが送信されるだけです)
「ブラウザーを開く」アクティビティの名前を変更し、ログイン画面のURLを入力します。
(名前変更は任意ですが変えたほうが便利です)

ID&パスワードの入力とパスワードの秘匿
次にIDとパスワードを入れてログインする動作を作ります。
それには「レコーディング」から「ウェブ」を選択します。

「ウェブレコーディング」が表示されるため「テキストを設定」を選択します。

このIDの入力欄にマウスを合わせ(青くなります)
クリックするとUiPathの専用吹き出しが表示されるためIDを入力します。


同様の操作をパスワードにも実施します。
IDとパスワードを入力したら[Esc]キーを押し、保存&終了をクリックします。

「ウェブレコーディング」は閉じて元のデザイン画面に戻ります。
そしてレコーディングされた「テキストを設定」の2つを
「ログイン」中の「Do」にドロップします。


この段階ではパスワードがそのまま記述されて誰にでも判る状態になっています。
個人のパスワードなど隠す必要がある場合はUiPathの暗号化機能を使用します。
それには「パスワードの取得」をパスワード入力の手前にドロップします。

「パスワードを取得」を選択し「パスワード」欄にパスワードを手入力し、
結果欄に初期設定で作成したパスワード用の変数を設定します。
そしてテキストの設定の入力値にもパスワード用の変数を設定します。
これでパスワードを秘匿した状態で自動化に組み込むことが可能です。

ログインボタン押下
IDとパスワードを入力したらログイン用のボタンを押下します。
それには「ウェブレコーディング」の「クリック」より「クリック」を選択します。

この状態でログインボタンをクリックし、[Esc]キーと「保存&終了」と進めます。
クリックが記録されるのでIDとパスワードのように
クリックのみ移動させて残りを削除します。

これでログイン部分は完成です。
このまま同じブラウザであればログイン状態が続きます。
(ウェブ側の制限時間はありますが)
最後に右上をクリックして縮小表示にしておきましょう。
任意ですが、完成したブロックは最小化しておくと見やすくなります。


ExcelからWebへの転記を繰り返す
転記元Excelの設定と読み込み
次に転記をする動作を作ります。
まず「Excel アプリケーション スコープ」を「ログイン」の下にドロップします。

「読み込み専用」をチェックし、ブックのパスに転記元のExcelを選択します。
今回はこのサンプルファイルを使用します。

シートが存在するだけ動作を繰り返す
「ブックの全シートを取得」を実行の中にドロップします。

追加された「ブックの全シートを取得」をクリックし
プロパティの全シートに変数として作った「全てのシート名」を設定します。

これにより変数「全てのシート名」の中に転記元Excelのシート名の集まりが格納されます。

次に「繰り返し(コレクションの各要素)」を「ブックの全シートを取得」をドロップします。
繰り返しというのは回数や終了条件を決めて同じような動作を複数回、実行することです。

追加した 「繰り返し(コレクションの各要素)」のプロパティに値を設定します。
プロパティ | 設定値 |
---|---|
TypeArgument | String |
コレクション値 | 全てのシート名 |

コレクション値には変数の型がList<T>のもの(今回は「全てにシート名」変数)を指定します。
これにより格納されている数だけ繰り返します。
TypeArgumentにはTのデータ型を指定します。
これにより転記元Excelの数だけ動作を繰り返すようになります。

Excelから転記・送信(繰り返しの中身)
先ほど追加した「繰り返し(コレクションの各要素)」の中に「本体」に繰り返す動作を入れます。
具体的には1シートの情報をWebフォームを転記し送信ボタンを押下する動作です。
まずは 「繰り返し(コレクションの各要素)」に 「セルを読み込み」をドロップします。
ここで転記元Excelのお名前項目を読み込む記述をしていきます。

「セルの読み込み」のプロパティの「シート名」、「セル」、「結果」に、お名前の情報を入れていきます。

これを転記する項目の数だけ追加します。
アクティビティの名前に項目名を入れておくとシーケンスが読みやすくなります。

転記元Excelからのデータ取得が完了したのでウェブフォームに転記していきます。
「ブラウザーを開く」を読み込みの次にドロップします。

追加した「ブラウザーを開く」に転記先URLを設定します。
サンプルとしてテスト用フォームを使用します。

ブラウザを開き転記の動作を記録していきます。
「レコーディング」から「ウェブ」を選択します。

まずお名前テキストボックスに入力する動作を記録するため
「テキスト」から「テキストを設定」をクリックします。

この状態でテキストボックスを選択すると吹き出しが表示されるため
何でもよいので入力しOKボタンを押下します。

次は都道府県のセレクトボックスの選択動作を記録します。
それには「クリック」より「項目を選択」します。

その状態で都道府県ボックスを選択します。
吹き出しが表示され選択肢が列挙されるため
どこでもよいので選択し、OKボタンを押します。

次は性別(ラジオボタン)とメールマガジンの送付希望(チェック)の選択を記録します。
それには「クリック」から「チェック」を選択します。

この状態で項目をチェックします。
これを全項目に繰り返します。アンカーの指定は「いいえ」で構いません。

この状態で保存&終了を選択します。

成功していれば各アクティビティが記録されます。

記録したDoを「ブラウザーを開く」の中にドロップし元のDoを削除します。

テキストの設定と項目の選択は同様の流れです。
記録したときの値が登録されているため
転記元Excelのデータを格納した変数を設定します。
同時にアクティビティ名も変えておきましょう。

次はメールマガジンのチェックを設定します。
これは何かの値を設定するのではなく購読希望の場合はチェックをし
そうでない場合は何もしないという判断が必要です。
そこで「フローチャート」が登場します。

次に 「フロースイッチ」をドロップ します。

「Start」をマウスオーバーすると上下左右に接続点が表示されるので
そこをクリックし下に追加した「フロースイッチ」までドロップします。

「Start」から矢印が表示されてフロースイッチに接続されます。

「フロースイッチ」のプロパティの「TypeArgument」に「String」、
「式」に「希望」変数を設定します。

記録したメルマガ希望のINPUTアクティビティをフローチャートの中に追加します。

フロースイッチからメルマガのINPUTに矢印を繋ぎます。

フロースイッチとメルマガのINPUTを繋ぐ矢印をクリックし
「IsDefaultCase」のチェックを外し、「Case」に「する」を設定します。

これでメルマガの設定が完了です。
希望しない場合はWebフォームを動かさないため何も設定しないようにします。
同様に性別のフローチャートを下記のように設定します。
性別は未選択がないため三つのパターン全ての設定します。

最後に送信ボタンを押す動作を記録して繋げれば完了です。
