学習日:2024/07/05
参考書:VBAエキスパート公式テキスト AccessVBAベーシック 株式会社オデッセイコミュニケーションズ(著者 武藤玄)
1-2から1-3まで(P7~P20)
【学習内容のまとめ】
モジュール → Excelでのブックやワークシートと同じようなオブジェクトの1つで、VBA作成したプログラム(プロシージャ)の入れ物(オブジェクト)。1つの宣言セクションと1つ以上のプログラムで構成されている
データベースオブジェクト → テーブル、クエリ、フォーム、レポートといったデータベースを構成しているオブジェクト
-
モジュールの種類
モジュールは、標準モジュールとクラスモジュールの2種類に分類できる
標準モジュール → モジュールオブジェクトとして保存され、データベース全体で使用する汎用的なプログラムを格納する
フォームモジュール → フォームに関連付けられたプログラムを格納する
レポートモジュール → レポートに関連付けられたプログラムを格納する
-
標準モジュールを作成する
①Accessから標準モジュールを作成する
[作成]タブ → [マクロとコード]の[標準モジュール]ボタンをクリック
②VBEから標準モジュールを作成する
VBEを起動した状態で[挿入]メニュー → [標準モジュール]をクリック
-
標準モジュールを削除する
①Accessから標準モジュールを削除する
ナビゲーションウィンドウからモジュールを選択 → [ホーム]タブ → [レコード]の[削除]をクリック → 削除確認で[はい]をクリック
※ナビゲーションウィンドウからモジュールを選択して右クリック削除を選択でも可能
②VBEから標準モジュールを削除する
プロジェクトエクスプローラからモジュールを選択 → 右クリック[モジュール(名前)の解放]をクリック → エクスポート確認で[いいえ]をクリック
※標準モジュールは削除したら元に戻すことはできない
プロシージャ → プログラムを構成する最小単位。プログラムは複数のプロシージャから構成されている
-
プロシージャの種類
①標準プロシージャ
フォームやレポートなど特定のオブジェクトに関連付けられていない、汎用性のある処理を記述する。ほかのプロシージャから呼び出すことができる
Subプロシージャ → 戻り値を返すことができない
Functionプロシージャ → 戻り値を返すことができ、独自の関数を作成する際に使用
②イベントプロシージャ
特定のオブジェクトに関連付けられたプロシージャで、クラスモジュール(フォームモジュール、レポートモジュール)に作成される、イベントが発生した際の処理を記述する
イベント → フォームのボタンをクリックする → Clickイベントの発生 など
-
標準プロシージャの作成
コードウィンドウでSubプロシージャを作成する
MsgBox関数
[F5]キーでプロシージャの実行
コード入力の際はインデント(字下げ)をする
※[F5]キーを押したときに、実行させたいプロシージャの外にカーソルがある場合マクロ名を選択するリストボックスが出てくる
-
標準プロシージャの削除
SubからEnd Subまでの内容をすべて選択し[Delete]キーで削除
※プロシージャは[元に戻す]ボタンで元に戻すことができる
※モジュール内に複数のプロシージャを機j通するとプロシージャの区分線という線が挿入される
-
プロシージャの命名規則
- 先頭の文字に数字や記号は使用できない
- スペースや.(ピリオド)、!(感嘆符)などの記号、型宣言文字は使用できない
- 半角で255文字を超える名前を付けることはできない
- 予約語(ステートメント、関数、プロパティ、メソッド)と同じ名前を付けることはできない
- モジュール内ですでに使っているプロシージャ名を付けることはできない
※_(アンダーバー)を使用することはできる
※異なるモジュールであれば、既に使用しているプロシージャ名でもつけることができる
※イベントプロシージャの名前は「オブジェクト名_イベント名」と決まっている