"SetMenuItem/メニューの設定" マクロ アクションを使って、Access デスクトップ データベースの [アドイン] タブのカスタム メニューまたはグローバル メニューのメニュー項目の状態 (有効か無効か、選択されているかいないか) を設定できます。
注: "SetMenuItem/メニューの設定" マクロ アクションは、メニュー マクロを使って作成されたカスタム メニューおよびグローバル メニューでのみ動作します。 "SetMenuItem/メニューの設定" マクロ アクションは、以前のバージョンとの互換性のためにのみ、Microsoft Office Access 2007 以降のバージョンに含まれます。 コマンド バー の機能では動作しません。 ただし、Visual Basic for Applications (VBA) モジュールの Enabled および State プロパティを使って、ショートカット メニュー、カスタム メニュー、グローバル メニューの項目の有効化、無効化、選択、選択解除を行うことができます。
設定
"SetMenuItem/メニューの設定" マクロ アクションには次の引数があります。
アクションの引数 |
説明 |
メニュー インデックス |
状態を設定するコマンドを含むメニューのインデックス。 カスタム メニューまたはグローバル メニューの目的のメニューのインデックスを示す 0 から始まる整数値を入力します。 マクロ デザイン ウィンドウの [アクションの引数] セクションの [メニュー インデックス] ボックスに、インデックスの値を入力します。 インデックスは、カスタム メニューまたはグローバル メニューのメニュー マクロでのメニューの位置に対応します (0 から始まる、メニュー マクロ内でのこのメニューの "AddMenu/メニューの追加" マクロ アクションの位置)。 メニュー マクロで条件式を使ってカスタム メニュー項目を表示または非表示にできるため、メニューの表示は若干異なることがあります。 これは必須の引数です。 この引数でメニューを選択し、"Command Index/コマンド インデックス" 引数と"Subcommand Index/サブコマンド インデックス" 引数を空白のままにした場合は、メニュー名自体を有効または無効にすることができます。 ただし、メニュー名を選択または選択解除することはできません (Access は、メニュー名の"Flag/フラグ" 引数の [チェックマーク表示] と [チェックマーク非表示] の設定を無視します)。 |
コマンド インデックス |
状態を設定するコマンドのインデックス。 "Menu Index/メニュー インデックス" 引数で選択したメニュー内の目的のコマンドのインデックスを示す、0 から始まる整数値を入力します。 インデックスは、カスタム メニューまたはグローバル メニューの選択されたメニューを定義しているマクロ グループ内でのコマンドの位置に対応します (0 から始まる、マクロ グループ内でのこのコマンドのマクロの位置)。 メニューのマクロ グループで条件式を使ってカスタム メニュー コマンドを表示または非表示にできるため、メニューの表示は若干異なることがあります。 |
サブコマンド インデックス |
状態を設定するサブコマンドのインデックス。 これは、目的のコマンドにサブメニューがある場合にのみ適用されます。 "Command Index/コマンド インデックス" 引数で選択したサブメニュー内の目的のサブコマンドのインデックスを示す、0 から始まる整数値を入力します。 インデックスは、カスタム メニューまたはグローバル メニューの選択されたサブメニューを定義しているマクロ グループ内でのサブコマンドの位置に対応します (0 から始まる、マクロ グループ内でのこのサブコマンドのマクロの位置)。 |
フラグ |
コマンドまたはサブコマンドに設定する状態。 [淡色表示] (コマンドを無効にして淡色表示にする場合)、[通常表示] (コマンドを有効にする場合)、[チェックマーク表示] (コマンドによってチェックマークを付ける場合、通常は選択されたことを示します)、または [チェックマーク非表示] (チェックマークを削除する場合) をクリックします。 既定値は [通常表示] です。 |
解説
"SetMenuItem/メニューの設定" マクロ アクションは、カスタム メニューまたはグローバル メニューでのみ動作します。 アクティブなウィンドウにカスタムまたはグローバル メニューがない場合、"SetMenuItem/メニューの設定" マクロ アクションを含むマクロを実行すると、実行時エラーの原因になります。
このアクションを使って、メニュー コマンドおよびサブコマンドの状態を設定することはできますが、サブコマンドのサブコマンドを設定することはできません。
Visual Basic for Applications (VBA) モジュールで "SetMenuItem/メニューの設定" マクロ アクションを実行するには、DoCmd オブジェクトの "メニューの設定/SetMenuItem" メソッドを使います。