訪問して頂きありがとうございます。まさふくろーです。
この記事では、WEBのラジオボタンから値を取得して、Excelに転記する方法(応用編)をご紹介します。
目次
Web、Excelの画面イメージ

動作イメージ
③データテーブルに格納されているデータ行数分、④~⑧の処理を繰り返す

フローチャート作成手順
Excelから得意先コードを取得
「Excel アプリケーションスコープ」アクティビティの設置
①「アクティビティ」タブをクリック⇒②「アプリの連携」>「Excel」>「処理」>「Excelアプリケーションスコープ」を選択します。

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

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

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

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

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

「データテーブル型」の変数の作成
フローチャート下の「変数」タブをクリックします。

以下項目を設定します。

| 項目名 | 設定内容 | 
| 名前 | Dt | 
| 変数の型 | DataTable | 
| スコープ | サンプル | 
データテーブルとは、一時的にデータを格納しておくための入れ物です。
スコープを「サンプル」に設定すると、変数「Dt」は、フローチャート「サンプル」内であればどこでも使用可能となります。
「プロパティ」の各種設定
「プロパティ」画面にて、以下項目を設定します。

| 項目名 | 設定内容 | 
| ヘッダーの追加 | チェック(ヘッダーがある場合) | 
| シート名 | Sheet1(エクセルのシート名) | 
| データテーブル | Dt(エクセルのデータを一時的に保存しておく入れ物) | 
一番上の階層に戻る
「サンプル」の部分をクリックし、一番上の階層に戻ります。

カウンター変数の初期値設定
「代入」アクティビティの設置
①「アクティビティ」タブをクリック⇒②「ワークフロー」>「制御」>「代入」を選択します。

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

「カウンター変数」の作成(Excelのセル位置を動的にするための変数)
フローチャート下の「変数」タブをクリックします。

以下項目を設定します。

| 項目名 | 設定内容 | 
| 名前 | Count | 
| 変数の型 | Int32(整数型) | 
| スコープ | サンプル | 
「カウンター変数の初期値」の設定
「代入」アクティビティの左側に「Count」、右側に「1」と入力します。

| 解説 | Excelのセルの位置を1行目に設定(ヘッダー部分)。 | 
繰り返し処理の設定
「繰り返し(各行)」アクティビティの設置
①「アクティビティ」タブをクリック⇒②「プログラミング」>「データテーブル」>「繰り返し(各行)」を選択します。

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

「コレクション」の設定
「繰り返し(各行)」の「Double-click to view」の部分をダブルクリックし、一つ下の階層に移動します。

得意先コード入力処理
「シーケンス」アクティビティの設置
①「アクティビティ」タブをクリック⇒②「ワークフロー」>「制御」>「シーケンス」を選択します。

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

「表示名」の変更
「プロパティ」画面にて、以下項目を設定します。

| 項目名 | 設定内容 | 
| 表示名 | 得意先コード入力処理 | 
「シーケンス」アクティビティで、処理ごとにグループ化し、視覚的にわかりやすくします。

「文字を入力」アクティビティの設置
①「アクティビティ」タブをクリック⇒②「UI Automation」>「要素」>「キーボード」>「文字を入力」を選択します。

マウスの左クリックを押したまま、「得意先コード入力処理」シーケンス上に移動し、ドロップします。すると、「得意先コード入力処理」シーケンス内に、「文字を入力」アクティビティが設置されます。

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

「得意先」の「テキストボックス」をクリックします。

「コレクションの要素」を取得
入力ボックスに「row("得意先コード").ToString」と入力します。このように設定することで、上記で設定したコレクション(データテーブル型の変数:Dt)から得意先コードを取得することができます。

ラジオボタンの選択状態を取得する処理
「シーケンス」アクティビティの設置
①「アクティビティ」タブをクリック⇒②「ワークフロー」>「制御」>「シーケンス」を選択します。

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

「表示名」の変更
「プロパティ」画面にて、以下項目を設定します。

| 項目名 | 設定内容 | 
| 表示名 | ラジオボタンの選択状態取得処理 | 
「シーケンス」アクティビティで、処理ごとにグループ化し、視覚的にわかりやすくします。

「クリック」アクティビティの設置
①「アクティビティ」タブをクリック⇒②「UI Automation」>「要素」>「マウス」>「クリック」を選択します。

マウスの左クリックを押したまま、「ラジオボタンの選択状態取得処理」シーケンス上に移動し、ドロップします。すると、「ラジオボタンの選択状態取得処理」シーケンス内に、「クリック」アクティビティが設置されます。

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

「前株」の「ラジオボタン」をクリックします。

「テキストを取得」アクティビティの設置(「前株」用)
①「アクティビティ」タブをクリック⇒②「UI Automation」>「要素」>「コントロール」>「テキストを取得」を選択します。

マウスの左クリックを押したまま、「ラジオボタンの選択状態取得処理」シーケンス上に移動し、ドロップします。すると、「ラジオボタンの選択状態取得処理」シーケンス内に、「テキストを取得」アクティビティが設置されます。

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

「前株」の「ラジオボタン」をクリックします。

「前株の値を格納する変数」の作成
フローチャート下の「変数」タブをクリックします。

以下項目を設定します。

| 項目名 | 設定内容 | 
| 名前 | PreviousStock | 
| 変数の型 | String(文字列型) | 
| スコープ | Body | 
「プロパティ」の各種設定
「プロパティ」画面にて、以下項目を設定します。

| 項目名 | 設定内容 | 
| 値 | PreviousStock | 
| 解説 | 取得したテキスト値を変数に格納します。 | 
「テキストを取得」アクティビティの設置(「後株」用)
①「アクティビティ」タブをクリック⇒②「UI Automation」>「要素」>「コントロール」>「テキストを取得」を選択します。

マウスの左クリックを押したまま、「ラジオボタンの選択状態取得処理」シーケンス上に移動し、ドロップします。すると、「ラジオボタンの選択状態取得処理」シーケンス内に、「テキストを取得」アクティビティが設置されます。

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

「後株」の「ラジオボタン」をクリックします。

「後株の値を格納する変数」の作成
フローチャート下の「変数」タブをクリックします。

以下項目を設定します。

| 項目名 | 設定内容 | 
| 名前 | BackStock | 
| 変数の型 | String(文字列型) | 
| スコープ | Body | 
「プロパティ」の各種設定
「プロパティ」画面にて、以下項目を設定します。

| 項目名 | 設定内容 | 
| 値 | BackStock | 
| 解説 | 取得したテキスト値を変数に格納します。 | 
「テキストを取得」アクティビティの設置(「なし」用)
①「アクティビティ」タブをクリック⇒②「UI Automation」>「要素」>「コントロール」>「テキストを取得」を選択します。

マウスの左クリックを押したまま、「ラジオボタンの選択状態取得処理」シーケンス上に移動し、ドロップします。すると、「ラジオボタンの選択状態取得処理」シーケンス内に、「テキストを取得」アクティビティが設置されます。

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

「なし」の「ラジオボタン」をクリックします。

「なしの値を格納する変数」の作成
フローチャート下の「変数」タブをクリックします。

以下項目を設定します。

| 項目名 | 設定内容 | 
| 名前 | NoneStock | 
| 変数の型 | String(文字列型) | 
| スコープ | Body | 
「プロパティ」の各種設定
「プロパティ」画面にて、以下項目を設定します。

| 項目名 | 設定内容 | 
| 値 | NoneStock | 
| 解説 | 取得したテキスト値を変数に格納します。 | 
エクセルのセル位置用カウンターの設定
「シーケンス」アクティビティの設置
①「アクティビティ」タブをクリック⇒②「ワークフロー」>「制御」>「シーケンス」を選択します。

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

「表示名」の変更
「プロパティ」画面にて、以下項目を設定します。

| 項目名 | 設定内容 | 
| 表示名 | エクセルのセル位置用カウンター | 
「シーケンス」アクティビティで、処理ごとにグループ化し、視覚的にわかりやすくします。

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

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

「カウンター変数」の設定
「代入」アクティビティの左側に「Count」、右側に「Count+1」と入力します。

| 解説 | このように設定することで、繰り返し処理が行われるたびにカウンター変数「Count」の値が1つずつ加算されていきます。 | 
| 上記「カウンター変数の初期値」の設定で、カウンター変数「Count」の値は「1」が設定されているので、代入後のカウンター変数「Count」の値は「2」からはじまります。 | 
ラジオボタン判別処理&セル書き込み処理
「シーケンス」アクティビティの設置
①「アクティビティ」タブをクリック⇒②「ワークフロー」>「制御」>「シーケンス」を選択します。

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

「表示名」の変更
「プロパティ」画面にて、以下項目を設定します。

| 項目名 | 設定内容 | 
| 表示名 | ラジオボタン判別処理&セル書き込み処理 | 
「シーケンス」アクティビティで、処理ごとにグループ化し、視覚的にわかりやすくします。

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

マウスの左クリックを押したまま、「ラジオボタン判別処理&セル書き込み処理」シーケンス上に移動し、ドロップします。すると、「ラジオボタン判別処理&セル書き込み処理」シーケンス内に、「Excelアプリケーションスコープ」アクティビティが設置されます。

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

「条件分岐」アクティビティの設置
①「アクティビティ」タブをクリック⇒②「ワークフロー」>「制御」>「条件分岐」を選択します。

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

「条件分岐」の式の設定
入力ボックスに「PreviousStock ="checked"」と入力します。

| 解説 | 上記で値を格納した変数「PreviousStock」を使用して、「前株」が選択されているかどうかの判定を行います。 | 
| ラジオボタンが選択されている場合は「checked」、選択されていない場合は「unchecked」という文字列が返されます。 | |
| 「条件分岐」アクティビティの「Then」とは、「~のとき」「~の場合」(真偽値 = True)を意味します。つまり、「前株」が選択されている場合、処理1を行う」となります。 | |
| 「条件分岐」アクティビティの「Else」とは、「~ではない」「~以外」(真偽値 = False)を意味します。つまり、「前株」が選択されていない場合、処理2を行う」となります。 | 
「セルに書き込み」アクティビティの設置(「前株」用)
①「アクティビティ」タブをクリック⇒②「アプリの連携」>「Excel」>「セルに書き込み」を選択します。

マウスの左クリックを押したまま、「条件分岐」アクティビティの「Then」の下に移動し、ドロップします。すると、「条件分岐」アクティビティの「Then」の下に、「セルに書き込み」アクティビティが設置されます。

「書き込みするセル」の設定
セル範囲に「"B" + Count.ToString」と設定します。

| 解説 | 「"B" + Count.ToString」とは、「B」という文字と「カウンター変数」を連結するという意味です。 | 
| カウンター変数は、「2」~「データテーブルに格納されている行数」まで「1」ずつ加算されるので、「"B" + Count.ToString」の結果は、「B2」「B3」「B4」・・・となります。 | 
「書き込みする値」の設定
書き込みの値に「"前株"」と設定します。

「条件分岐」アクティビティの設置
①「アクティビティ」タブをクリック⇒②「ワークフロー」>「制御」>「条件分岐」を選択します。

マウスの左クリックを押したまま、「条件分岐」アクティビティの「Else」の下に移動し、ドロップします。すると、「条件分岐」アクティビティの「Else」の下に、「条件分岐」のアクティビティが設置されます。

「条件分岐」の式の設定
入力ボックスに「BackStock ="checked"」と入力します。

| 解説 | 上記で値を格納した変数「BackStock」を使用して、「後株」が選択されているかどうかの判定を行います。 | 
| ラジオボタンが選択されている場合は「checked」、選択されていない場合は「unchecked」という文字列が返されます。 | |
| 「条件分岐」アクティビティの「Then」とは、「~のとき」「~の場合」(真偽値 = True)を意味します。つまり、「後株」が選択されている場合、処理1を行う」となります。 | |
| 「条件分岐」アクティビティの「Else」とは、「~ではない」「~以外」(真偽値 = False)を意味します。つまり、「後株」が選択されていない場合、処理2を行う」となります。 | 
「セルに書き込み」アクティビティの設置(「後株」用)
①「アクティビティ」タブをクリック⇒②「アプリの連携」>「Excel」>「セルに書き込み」を選択します。

マウスの左クリックを押したまま、「条件分岐」アクティビティの「Then」の下に移動し、ドロップします。すると、「条件分岐」アクティビティの「Then」の下に、「条件分岐」のアクティビティが設置されます。

「書き込みするセル」の設定
セル範囲に「"B" + Count.ToString」と設定します。

| 解説 | 「"B" + Count.ToString」とは、「B」という文字と「カウンター変数」を連結するという意味です。 | 
| カウンター変数は、「2」~「データテーブルに格納されている行数」まで「1」ずつ加算されるので、「"B" + Count.ToString」の結果は、「B2」「B3」「B4」・・・となります。 | 
「書き込みする値」の設定
書き込みの値に「"後株"」と設定します。

「セルに書き込み」アクティビティの設置(「なし」用)
①「アクティビティ」タブをクリック⇒②「アプリの連携」>「Excel」>「セルに書き込み」を選択します。

マウスの左クリックを押したまま、「条件分岐」アクティビティの「Else」の下に移動し、ドロップします。すると、「条件分岐」アクティビティの「Else」の下に、「条件分岐」のアクティビティが設置されます。

「書き込みするセル」の設定
セル範囲に「"B" + Count.ToString」と設定します。

| 解説 | 「"B" + Count.ToString」とは、「B」という文字と「カウンター変数」を連結するという意味です。 | 
| カウンター変数は、「2」~「データテーブルに格納されている行数」まで「1」ずつ加算されるので、「"B" + Count.ToString」の結果は、「B2」「B3」「B4」・・・となります。 | 
「書き込みする値」の設定
書き込みの値に「"なし"」と設定します。

得意先コードクリア処理
「シーケンス」アクティビティの設置
①「アクティビティ」タブをクリック⇒②「ワークフロー」>「制御」>「シーケンス」を選択します。

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

「表示名」の変更
「プロパティ」画面にて、以下項目を設定します。

| 項目名 | 設定内容 | 
| 表示名 | 得意先コードクリア処理 | 
「シーケンス」アクティビティで、処理ごとにグループ化し、視覚的にわかりやすくします。

「クリック」アクティビティの設置
①「アクティビティ」タブをクリック⇒②「UI Automation」>「要素」>「マウス」>「クリック」を選択します。

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

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

「得意先コード」の「テキストボックス」をクリックします。

「文字を入力」アクティビティの設置
①「アクティビティ」タブをクリック⇒②「UI Automation」>「要素」>「キーボード」>「文字を入力」を選択します。

マウスの左クリックを押したまま、「得意先コードクリア処理」シーケンス上に移動し、ドロップします。すると、「得意先コードクリア処理」シーケンス内に、「文字を入力」アクティビティが設置されます。

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

「得意先コード」の「テキストボックス」をクリックします。

「+」ボタンをクリックします。

一覧から「back」を選択します。

すると、入力ボックスに「"[k(back)]"」と設定されます。「"[k(back)]"」とは、1文字消すという意味です。

つまり、得意先コード3文字を消すには、一覧から3回「back」を選択します。

フローチャートの関連付け
「サンプル」の部分をクリックし、一番上の階層に戻ります。

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

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

各アクティビティの関連付け
同じ要領で、各アクティビティの関連付けを行います。

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

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



