訪問して頂きありがとうございます。まさふくろーです。
この記事では、UiPathを使って「エクセルの内容を元にWEBのラジオボタンを動的に選択する」方法をご紹介します。
目次
Excel、Webの画面イメージ
エクセルの「株前後区分」をもとに、Webの「前後」ラジオボタンを動的に選択する。
株前後区分(Excel) | 前後(Web) |
0 | 「なし」を選択 |
1 | 「前株」を選択 |
2 | 「後株」を選択 |
動作イメージ
データテーブルから「株前後区分」の値を取得 「株前後区分 = 0」の場合、ラジオボタン「なし」を選択
③データテーブルに格納されているデータ行数分、④~⑦の処理を繰り返します。
作成手順
プロジェクトの作成
UiPath Studioを起動します。
「プロセス」を選択します。
①プロジェクトの「名前」を入力⇒②プロジェクトを作成する「場所」を指定⇒③「作成」ボタンをクリックします。
フローチャートの作成
メニューバーの①「デザイン」タブをクリック⇒②「新規」をクリック⇒③「フローチャート」を選択します。
①フローチャートの「名前」を入力⇒②「作成」ボタンをクリックします。
「Excel アプリケーションスコープ」アクティビティの設置
①「アクティビティ」タブをクリック⇒②「アプリの連携」>「Excel」>「処理」>「Excelアプリケーションスコープ」を選択します。
マウスの左クリックを押したまま、フローチャート上に移動し、ドロップします。すると、「Excelアプリケーションスコープ」アクティビティが設置されます。(ダブルクリックでも可能です。)
「対象のExcelファイル」を指定
「Excelアプリケーションスコープ」の「Double-click to view」の部分をダブルクリックし、一つ下の階層に移動します。
「…」ボタンをクリックし、対象のExcelファイルを指定します。
「範囲を読み込み」アクティビティの設置
①「アクティビティ」タブをクリック⇒②「アプリの連携」>「Excel」>「処理」>「範囲を読み込み」を選択します。
マウスの左クリックを押したまま、「実行」シーケンス上に移動し、ドロップします。すると、「実行」シーケンス内に、「範囲を読み込み」のアクティビティが設置されます。
「データテーブル型」の変数の設定
フローチャート下の「変数」タブをクリックします。
以下項目を設定します。
項目名 | 設定内容 |
名前 | Dt |
変数の型 | DataTable |
スコープ | 実行 |
データテーブルとは、一時的にデータを格納しておくための入れ物です。
スコープを「実行」に設定すると、変数「Dt」は、「実行」シーケンス内でのみ使用可能となります。
①変数の型の「▼」部分をクリック⇒②「型の参照」を選択します。
①型の名前に「System.Data.DataTable」と入力⇒②「DataTable」を選択⇒③「OK」ボタンをクリックします。
「範囲を読み込み」アクティビティのプロパティ設定
「範囲を読み込み」アクティビティを選択します。
「プロパティ」画面にて、以下項目を設定します。
項目名 | 設定内容 |
ヘッダーの追加 | チェック(ヘッダーがある場合) |
シート名 | Sheet1(エクセルのシート名) |
データテーブル | Dt(エクセルのデータを一時的に保存しておく入れ物) |
「繰り返し (各行)」アクティビティの設置
①「アクティビティ」タブをクリック⇒②「プログラミング」>「データテーブル」>「繰り返し(各行)」を選択します。
マウスの左クリックを押したまま、「実行」シーケンス上に移動し、ドロップします。すると、「実行」シーケンス内に、「繰り返し(各行)」のアクティビティが設置されます。
「コレクション」の設定
「コレクション」に上記で作成した、DataTable型の変数「Dt」を指定します。このように設定することで、変数「Dt」に格納されたデータを1行ずつ順番に処理することができます。
「ブラウザーにアタッチ」アクティビティの設置
①「アクティビティ」タブをクリック⇒②「UI Automation」>「ブラウザー」>「ブラウザーにアタッチ」を選択します。
マウスの左クリックを押したまま、「Body」シーケンス上に移動し、ドロップします。すると、「Body」シーケンス内に、「ブラウザーにアタッチ」のアクティビティが設置されます。
「対象のブラウザー」を指定
「画面上でブラウザーを指定」をクリックします。
対象のWEBページをクリックします。
「代入」アクティビティの設置
①「アクティビティ」タブをクリック⇒②「ワークフロー」>「制御」>「代入」を選択します。
マウスの左クリックを押したまま、「Do」シーケンス上に移動し、ドロップします。すると、「Do」シーケンス内に、「代入」のアクティビティが設置されます。
「株前後区分」の変数の設定
フローチャート下の「変数」タブをクリックします。
以下項目を設定します。
項目名 | 設定内容 |
名前 | KabuKbn(株前後区分格納用変数) |
変数の型 | String(文字列型) |
スコープ | Do |
「代入」アクティビティの式の設定
「代入」アクティビティの左側に「KabuKbn」、右側に「row("株前後区分").ToString」と入力します。
エクセルの「株前後区分」データを取得、オブジェクト型から文字列型に変換し、文字列型の変数「KabuKbn」に代入します。
「条件分岐」アクティビティの設置
①「アクティビティ」タブをクリック⇒②「ワークフロー」>「制御」>「条件分岐」を選択します。
マウスの左クリックを押したまま、「Do」シーケンス上に移動し、ドロップします。すると、「Do」シーケンス内に、「条件分岐」のアクティビティが設置されます。
「条件分岐」アクティビティの式の設定
入力ボックスに「KabuKbn = "0"」と入力します。
「クリック」アクティビティの設置
①「アクティビティ」タブをクリック⇒②「UI Automation」>「要素」>「マウス」>「クリック」を選択します。
マウスの左クリックを押したまま、「条件分岐」アクティビティの「Then」の下に移動し、ドロップします。すると、「条件分岐」アクティビティの「Then」の下に、「クリック」のアクティビティが設置されます。
「条件分岐」アクティビティの「Then」とは、「~のとき」「~の場合」(真偽値 = True)を意味します。つまり、「変数:KabuKbn = 0 の場合、処理1を行う」となります。
「ラジオボタン:なし」を選択する設定を行う
「ブラウザー内で要素を指定」をクリックします。
「なし」の「ラジオボタン」をクリックします。
「条件分岐」アクティビティの設置
①「アクティビティ」タブをクリック⇒②「ワークフロー」>「制御」>「条件分岐」を選択します。
マウスの左クリックを押したまま、「条件分岐」アクティビティの「Else」の下に移動し、ドロップします。すると、「条件分岐」アクティビティの「Else」の下に、「条件分岐」のアクティビティが設置されます。
「条件分岐」アクティビティの「Else」とは、「~でないとき」「~でない場合」(真偽値 = False)を意味します。つまり、「変数:KabuKbn = 0 でない場合、処理2を行う」となります。
「条件分岐」アクティビティの式の設定
入力ボックスに「KabuKbn = "1"」と入力します。
「クリック」アクティビティの設置
①「アクティビティ」タブをクリック⇒②「UI Automation」>「要素」>「マウス」>「クリック」を選択します。
マウスの左クリックを押したまま、「条件分岐」アクティビティの「Then」の下に移動し、ドロップします。すると、「条件分岐」アクティビティの「Then」の下に、「クリック」のアクティビティが設置されます。
「ラジオボタン:前株」を選択する設定を行う
「ブラウザー内で要素を指定」をクリックします。
「前株」の「ラジオボタン」をクリックします。
「クリック」アクティビティの設置
①「アクティビティ」タブをクリック⇒②「UI Automation」>「要素」>「マウス」>「クリック」を選択します。
マウスの左クリックを押したまま、「条件分岐」アクティビティの「Else」の下に移動し、ドロップします。すると、「条件分岐」アクティビティの「Else」の下に、「クリック」のアクティビティが設置されます。
「ラジオボタン:後株」を選択する設定を行う
「ブラウザー内で要素を指定」をクリックします。
「後株」の「ラジオボタン」をクリックします。
フローチャートの関連付けを行う
「サンプル」の部分をクリックし、一番上の階層に戻ります。
「Excelアプリケーションスコープ」を選択し、マウスの左クリックを押したまま「Start」の位置に近づけると、水色の「三角」マークが表示されます。
この状態で左クリックから手を離すことによって、「Start」と「Excelアプリケーションスコープ」アクティビティの関連付けが行われます。
動作確認
メニューバーの①「デザイン」タブをクリック⇒②「実行」をクリックし、意図した動きになっているか確認を行います。
最後まで読んでいただき、ありがとうございました!