訪問して頂きありがとうございます。まさふくろーです。
前回の記事では、Accessの入力画面を起動する方法をご紹介しました。
この記事では前回の続きとして、「Access入力画面のテキストボックスに値を設定する」方法をご紹介します。
この記事でご紹介する内容は、エクセルデータをAccessのテキストボックスに転記する応用編となります。
目次
動作イメージ(応用編)
Access入力画面のテキストボックスに値を設定
③データテーブルに格納されているデータ行数分、④⑤の処理を繰り返します。
Excel、Accessの画面イメージ
①Excelの2行目~6行目のデータを読み込む⇒以下②③の処理を繰り返す
②「件名」欄にExcelのデータを設定⇒③「」(新しいレコード)ボタンをクリックし、Accessのデータベースに登録する
この記事で使用するタスク詳細画面は、Accessのテンプレート「タスク管理」の中にあります。
作成手順
Accessファイルを開く
Accessファイルをダブルクリックし、Accessファイルを開きます。
タスク詳細画面を開く
「タスク詳細」をダブルクリックし、タスク詳細画面を開きます。
フローチャートの作成
メニューバーの①「デザイン」タブをクリック⇒②「新規」をクリック⇒③「フローチャート」を選択します。
①フローチャートの「名前」を入力⇒②「作成」ボタンをクリックします。
「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」シーケンス内に、「クリック」アクティビティが設置されます。
「ボタンをクリックする」設定を行う
「画面上で指定」をクリックします。
タスク詳細画面の「新しい(空の)レコード」ボタンをクリックします。
「文字を入力」アクティビティの設置
①「アクティビティ」タブをクリック⇒②「UI Automation」>「要素」>「キーボード」>「文字を入力」を選択します。
マウスの左クリックを押したまま、「Body」シーケンス上に移動します。すると、「Body」シーケンス内に、「文字を入力」アクティビティが設置されます。
「文字を入力する」設定を行う
「画面上で指定」をクリックします。
タスク詳細画面の「件名」欄をクリックします。
入力ボックスに「row("件名").ToString」と入力します。
row("件名").ToStringと指定することで、データテーブルから各列の値を1行ずつ取得することができます。
フローチャートの関連付けを行う
「フローチャート(Accessテキスト入力応用)」の部分をクリックし、一つ上の階層に戻ります。
「Excelアプリケーションスコープ」を選択し、マウスの左クリックを押したまま「Start」の位置の近づけると、水色の「三角」マークが表示されます。
この状態で左クリックから手を離すことによって、「Start」と「Excelアプリケーションスコープ」アクティビティの関連付けが行われます。
動作確認
メニューバーの①「デザイン」タブをクリック⇒②「実行」をクリックし、意図した動きになっているか確認を行います。
最後まで読んでいただき、ありがとうございました!