Access デスクトップ データベースで ”RunCode/プロシージャの実行” マクロ アクションを使用すると、Visual Basic for Applications (VBA) の Function プロシージャを呼び出すことができます。
設定
”RunCode/プロシージャの実行” マクロ アクションには次の引数があります。
| アクションの引数 | 説明 |
|---|---|
| 関数名 | VBA の Function プロシージャの名前です。 関数の引数はかっこで囲みます。 マクロ デザイン ウィンドウの [関数名] ボックスに関数名を入力します。 これは必須の引数です。 メモ: Access デスクトップ データベース (.mdb または .accdb) で、[ ビルド ] ボタンをクリックして式ビルダーを使用して、この引数の関数を選択します。 式ビルダーの一覧で目的の関数をクリックします。 |
解説
ユーザー定義関数プロシージャは、Access モジュールに格納されます。
Function プロシージャでは、引数を指定しない場合も、次の例に示すようにかっこを含める必要があります。
TestFunction()
イベント プロパティの設定に使用されるユーザー定義関数名とは異なり、 関数名 引数の関数名は等号 (=) で始まらない。
Access では、関数の戻り値は無視されます。
注
関数名がモジュール名と同じである場合、マクロから Function プロシージャを呼び出すことはできません。
ヒント
Visual Basic で記述された Sub プロシージャまたはイベント プロシージャを実行するには、Sub プロシージャまたはイベント プロシージャを呼び出す Function プロシージャを作成します。 次に ”RunCode/プロシージャの実行” マクロ アクションを使用して Function プロシージャを実行します。
”RunCode/プロシージャの実行” マクロ アクションを使用して関数を呼び出した場合、Access はデータベース用の標準モジュール内の [関数名] 引数で指定された名前を持つ関数を探します。 ただし、フォームまたはレポートのメニュー コマンドをクリックするか、フォームまたはレポートのイベントに応答してこのアクションを実行すると、Access は最初にフォームまたはレポートのクラス モジュール内の関数を検索し、次に標準モジュールで検索します。 [関数名] 引数で指定された関数のナビゲーション ウィンドウの [モジュール] 領域に表示されるクラス モジュールでの検索は行われません。
このアクションは、VBA モジュールでは使用できません。 代わりに、VBA で直接、目的の Function プロシージャを実行します。