Access データベースで "RunMacro/マクロの実行" マクロ アクションを使用し、マクロを実行できます。 マクロは、たとえば、マクロ グループにあるものを利用できます。
このアクションの使用目的:
-
別のマクロ内からマクロを実行する。
-
特定の条件に基づいてマクロを実行する。
-
カスタム メニューまたはリボン コマンドにマクロを関連付ける。
設定
"RunMacro/マクロの実行" マクロ アクションには次の引数があります。
アクションの引数 |
説明 |
Macro Name/マクロ名 |
実行するマクロの名前。 [マクロ デザイン] ウィンドウの [アクションの引数] セクションの [マクロ名] ボックスには、カレント データベース内のすべてのマクロ (とマクロ グループ) が表示されます。 マクロがマクロ グループに入っている場合、一覧のマクロ グループ名の下に macrogroupname.macroname の形式で表示されます。 これは必須の引数です。 ライブラリ データベース で "RunMacro/マクロの実行" マクロ アクションが定義されたマクロを実行すると、Access によってライブラリ データベースでこの名前のマクロが検索されます。カレント データベースでは検索されません。 |
実行回数 |
マクロを実行する最大回数。 この引数を空のままにした場合 ("Repeat Expression/繰り返し条件式" 引数も空にします)、マクロは 1 回だけ実行されます。 |
繰り返し条件式 |
True (–1) または False (0) に評価される式です。 式が False に評価される場合、マクロは実行を停止します。 式は、マクロが実行されるたびに評価されます。 |
解説
"Macro Name/マクロ名" 引数にマクロ グループ名を入力した場合、Access はマクロ グループの最初のマクロを実行します。
このアクションは、[データベース ツール] タブで [マクロの実行] をクリックし、マクロを選択して [OK] をクリックするのと似ています。 ただし、このコマンドはマクロを 1 回だけ実行しますが、 RunMacro マクロ アクションでは必要な回数だけマクロを実行できます。
ヒント
"Repeat Count/実行回数" 引数と "Repeat Expression/繰り返し条件式" 引数を利用し、マクロの実行回数を決定できます。
-
両方の引数を空にした場合、マクロは 1 回だけ実行されます。
-
"Repeat Count/実行回数" に数値を入力し、"Repeat Expression/繰り返し条件式" を空にした場合、マクロは指定の回数だけ実行されます。
-
"Repeat Count/実行回数" を空にして "Repeat Expression/繰り返し条件式" に式を入力した場合、式が [False] に評価されるまでマクロが実行されます。
-
両方の引数に数値を入力した場合、マクロは "Repeat Count/実行回数" に指定されている回数だけ実行されるか、"Repeat Expression/繰り返し条件式" が [False] に評価されるまで実行されます (どちらかが先に発生した段階で終了となります)。
"RunMacro/マクロの実行" マクロ アクションを含むマクロを実行し、"RunMacro/マクロの実行" に到達すると、Access は呼び出されたマクロを実行します。 呼び出されたマクロが完了すると、Access は元のマクロに戻り、次のアクションを実行します。
注:
-
同じマクロ グループにあるマクロを呼び出すことも、別のマクロ グループにあるマクロを呼び出すこともできます。
-
マクロは入れ子にすることができます。 つまり、マクロ A を実行して、マクロ A がマクロ B を呼び出し、マクロ B がさらに別のマクロを呼び出すことができます。 いずれの場合も、呼び出されたマクロが完了すると、Access がそれを呼び出したマクロに戻り、そのマクロの次のアクションを実行します。
Visual Basic for Applications (VBA) モジュールで "RunMacro/マクロの実行" アクションを実行するには、DoCmd オブジェクトの "RunMacro/マクロの実行" メソッドを使います。