【UiPath】エクセルの内容を元にWEBのコンボボックスを動的に選択してみる

訪問して頂きありがとうございます。まさふくろーです。

この記事では、UiPathを使って「エクセルの内容を元にWEBのコンボボックスを動的に選択する」方法をご紹介します。

動作イメージ

  1. UiPath実行
  2. Excelのデータを読み込み
  3. データテーブルに格納
  4. コンボボックスの項目を動的に選択

 

③データテーブルに格納されているデータ行数分、④の処理を繰り返します。

 

Excel、Webの画面イメージ

エクセルの「受注日」を、Webの「受注日」に反映する。

 

作成手順

プロジェクトの作成

UiPath Studioを起動します。

 

「プロセス」を選択します。

 

①プロジェクトの「名前」を入力⇒②プロジェクトを作成する「場所」を指定⇒③「作成」ボタンをクリックします。

 

フローチャートの作成

メニューバーの①「デザイン」タブをクリック⇒②「新規」をクリック⇒③「フローチャート」を選択します。

 

①フローチャートの「名前」を入力⇒②「作成」ボタンをクリックします。

 

「Excel アプリケーションスコープ」アクティビティの設置

①「アクティビティ」タブをクリック⇒②「アプリの連携」>「Excel」>「処理」>「Excelアプリケーションスコープ」を選択します。

 

マウスの左クリックを押したまま、フローチャート上に移動し、ドロップします。すると、「Excelアプリケーションスコープ」アクティビティが設置されます。(ダブルクリックでも可能です。)

 

「対象のExcelファイル」を指定

「Excelアプリケーションスコープ」の「Double-click to view」の部分をダブルクリックし、一つ下の階層に移動します。

 

「…」ボタンをクリックし、対象のExcelファイルを指定します。

 

「範囲を読み込み」アクティビティの設置

①「アクティビティ」タブをクリック⇒②「アプリの連携」>「Excel」>「処理」>「範囲を読み込み」を選択します。

 

マウスの左クリックを押したまま、「実行」シーケンス上に移動し、ドロップします。すると、「実行」シーケンス内に、「範囲を読み込み」のアクティビティが設置されます。

 

「データテーブル型」の変数の設定

フローチャート下の「変数」タブをクリックします。

 

以下項目を設定します。

 

 

項目名 設定内容
名前 Dt
変数の型 DataTable
スコープ 実行

データテーブルについて

データテーブルとは、一時的にデータを格納しておくための入れ物です。

 

スコープについて

スコープを「実行」に設定すると、変数「Dt」は、「実行」シーケンス内でのみ使用可能となります。

DataTable型の設定方法

①変数の型の「▼」部分をクリック⇒②「型の参照」を選択します。

 

①型の名前に「System.Data.DataTable」と入力⇒②「DataTable」を選択⇒③「OK」ボタンをクリックします。

 

「範囲を読み込み」アクティビティのプロパティ設定

「範囲を読み込み」アクティビティを選択します。

 

「プロパティ」画面にて、以下項目を設定します。

 

 

項目名 設定内容
ヘッダーの追加 チェック(ヘッダーがある場合)
シート名 Sheet1(エクセルのシート名)
データテーブル Dt(エクセルのデータを一時的に保存しておく入れ物)

「繰り返し (各行)」アクティビティの設置

①「アクティビティ」タブをクリック⇒②「プログラミング」>「データテーブル」>「繰り返し(各行)」を選択します。

 

マウスの左クリックを押したまま、「実行」シーケンス上に移動し、ドロップします。すると、「実行」シーケンス内に、「繰り返し(各行)」のアクティビティが設置されます。

 

「コレクション」の設定

「コレクション」に上記で作成した、DataTable型の変数「Dt」を指定します。このように設定することで、変数「Dt」に格納されたデータを1行ずつ順番に処理することができます。

 

「ブラウザーにアタッチ」アクティビティの設置

①「アクティビティ」タブをクリック⇒②「UI Automation」>「ブラウザー」>「ブラウザーにアタッチ」を選択します。

 

マウスの左クリックを押したまま、「Body」シーケンス上に移動し、ドロップします。すると、「Body」シーケンス内に、「ブラウザーにアタッチ」のアクティビティが設置されます。

 

「対象のブラウザー」を指定

「画面上でブラウザーを指定」をクリックします。

 

対象のWEBページをクリックします。

 

「代入」アクティビティの設置

①「アクティビティ」タブをクリック⇒②「ワークフロー」>「制御」>「代入」を選択します。

 

マウスの左クリックを押したまま、「Do」シーケンス上に移動し、ドロップします。すると、「Do」シーケンス内に、「代入」のアクティビティが設置されます。

 

「DateTime型」の変数の設定

フローチャート下の「変数」タブをクリックします。

 

以下項目を設定します。

 

 

項目名 設定内容
名前 juchubi(受注日格納用変数)
変数の型 DateTime(型の名前:System.DateTime)
スコープ Do
「代入」アクティビティの式の設定

「代入」アクティビティの左側に「juchubi」、右側に「datetime.Parse(row("受注日").ToString)」と入力します。

 

 

解説

エクセルの受注日データを取得、文字列型からDataTime型に変換し、DateTime型の変数「juchubi」に代入します。

「項目を選択」アクティビティの設置

①「アクティビティ」タブをクリック⇒②「UI Automation」>「要素」>「コントロール」>「項目を選択」を選択します。

 

マウスの左クリックを押したまま、「Do」シーケンス上に移動し、ドロップします。すると、「Do」シーケンス内に、「項目を選択」のアクティビティが設置されます。

 

「ブラウザー内の要素」を指定

「ブラウザー内で要素を指定」をクリックします。

 

「受注日」の「コンボボックス」をクリックします。

 

「コンボボックスの項目を動的に選択できるように」設定する

「項目を選択」アクティビティに「juchubi.ToString("MM/dd")」と入力します。

 

 

解説

コンボボックスに設定されている項目に合わせて、変数「juchubi」を「MM/dd」の書式に変換します。

フローチャートの関連付けを行う

「サンプル」の部分をクリックし、一番上の階層に戻ります。

 

「Excelアプリケーションスコープ」を選択し、マウスの左クリックを押したまま「Start」の位置に近づけると、水色の「三角」マークが表示されます。

 

 

この状態で左クリックから手を離すことによって、「Start」と「Excelアプリケーションスコープ」アクティビティの関連付けが行われます。

 

動作確認

メニューバーの①「デザイン」タブをクリック⇒②「実行」をクリックし、意図した動きになっているか確認を行います。

最後まで読んでいただき、ありがとうございました!