マクロを使用してカスタム メニューおよびショートカット メニューを作成する

重要:  この記事は機械翻訳されています。機械翻訳についての「免責事項」をお読みください。この記事の英語版を参照するには、ここをクリックしてください。

Access のマクロを使用して、フォーム、レポート、または個別のコントロールを右クリックしたときに表示されるカスタム ショートカット メニューを作成できます。また、特定のフォームやレポートに対してリボンに表示されるカスタム メニューも作成できます。

マクロを使用してメニューを作成するには、次の 3 つの主な手順を実行します。

  1. メニュー コマンドを定義するマクロ グループを作成する。

  2. メニュー自体を作成する別のマクロを作成する。

  3. コントロール、フォーム、レポート、またはデータベース全体にメニューを割り当てる。

次に、これらの手順の詳細を説明します。

手順 1: メニュー コマンドを含むマクロ グループを作成する

この手順では、マクロ グループを作成し、各マクロがショートカット メニューの個々のコマンドに対応します。

マクロ グループとは何ですか。

マクロ グループは、2 つ以上の独立したマクロを含む 1 つのマクロ オブジェクトです。個々のマクロは、[マクロ名] 列に各マクロの名前を入力して指定します。次の図では、Macro3 がマクロ グループです。NotFoundMsg および FoundMsg はグループ内の個々のマクロであり、各マクロが 2 つのマクロ アクションで構成されています。

マクロ グループの例

注: [マクロ名] 列は、既定では非表示になっています。[マクロ名] 列を表示するには、[デザイン] タブの [表示/非表示] で [マクロ名] をクリックします。

  1. [作成] タブの [その他] グループで [マクロ] をクリックします。このコマンドを使用できない場合は、[モジュール] または [クラス モジュール] ボタンの下にある矢印をクリックして、[マクロ] をクリックします。

  2. [デザイン] タブの [表示/非表示] グループで [マクロ名] をクリックして [マクロ名] 列を表示します。

  3. カスタム ショートカット メニューを作成するコマンドごとに、次の手順を実行します。

    • [マクロ名] 列で、ショートカット メニューに表示するテキスト ("レポートの表示"、"保存" など) を入力します。

      1. 注: アクセス キーを作成して、キーボードからコマンドを選択できるようにするには、アンパサンド (&) と、アクセス キーとして使用する文字を入力します (例: "保存(&S)")。メニューに、この文字が下線付きで表示されます。

    • [アクション] 列で、ショートカット メニューでコマンドをクリックしたときに最初に実行されるアクションを選択します。

    • このコマンドをクリックしたときに実行するアクションが他にもある場合は、以降の行に追加します。追加の各アクションに対しては、[マクロ名] セルを空白にしておきます。

      1. 注: 2 つのメニュー コマンドの間に区切り線を入れるには、その 2 つのメニュー コマンドの間の [マクロ名] 列にハイフン (-) を入力します。

  4. 保存して、たとえば、 mcrShortcutMenuCommandsマクロの名前を付けます。

カスタム メニューまたはショートカット メニューに使用するマクロ グループの例を次の図に示します。

デザイン ビューのメニュー マクロ グループ

手順 2: メニューを作成するマクロを作成する

この手順は、冗長、思われる場合は、手順 1 で作成したマクロ グループから、ショートカット メニューを作成するには、2 番目のマクロを含むを作成する必要があります、 AddMenuマクロ アクションです。このマクロは、「メニュー マクロ」と呼ばれます。

  1. [作成] タブの [その他] グループで [マクロ] をクリックします。このコマンドを使用できない場合は、[モジュール] または [クラス モジュール] ボタンの下にある矢印をクリックして、[マクロ] をクリックします。

  2. マクロの最初の行で [アクション] 列をクリックし、一覧の [メニューの追加] をクリックします。

  3. [アクションの引数] の [メニュー名] ボックスに、メニューの名前 ("レポート コマンド" など) を入力します。この引数は必須ではありませんが、手順 3. でメニューをリボン タブ (フォームまたはレポートの [アドイン] タブなど) に追加する場合には、入力することをお勧めします。手順 3. でメニューをショートカット メニューとして追加する場合、[メニュー名] の引数は無視されます。

  4. [メニュー マクロ名] ボックスに、手順 1. で作成したマクロの名前を入力します。

  5. 保存して、 mcrAddShortcutMenuなど、マクロの名前を付けます。

手順 1. でデザインしたメニューを作成するメニュー マクロの例を次の図に示します。

デザイン ビューのメニュー マクロ

手順 3: コントロール、フォーム、レポート、またはデータベースにメニューを割り当てる

メニューを表示する場所に応じて、次のうち該当する手順を使用します。

  • フォームまたはレポートの [アドイン] タブにメニューを追加する

    この手順は、次の図に示すように、特定のフォームまたはレポートの [アドイン] タブにメニューを表示する場合に使用します。

    カスタム メニューを含む [アドイン] タブ

    1. ナビゲーション ウィンドウで、メニューを表示するフォームまたはレポートを右クリックし、[デザイン ビュー] をクリックします。

    2. [デザイン] タブの [表示/非表示] グループの [プロパティ シート] をクリックします。

    3. [プロパティ シート] 作業ウィンドウの上部にある一覧で [フォーム] または [レポート] をクリックして、オブジェクト全体を選択します。

    4. プロパティ シートの [その他] タブの [ショートカット メニュー] プロパティ ボックスに、手順 2. で作成したマクロの名前 (この例では "mcrAddShortcutMenu") を入力します。

      次回このフォームまたはレポートを開くと、リボンに [アドイン] タブが表示されます。タブをクリックしてメニューを表示します。

      ユーザー設定のタブを追加するか、既定のタブを非表示にするなど、リボンのカスタマイズ方法の詳細については、リボンのユーザー設定の記事を参照してください。

      リボンは、Microsoft Office Fluent ユーザー インターフェイスのコンポーネントです。

  • メニューをフォーム、レポート、またはコントロールのショートカット メニューとして追加する

    この手順は、次の図に示すように、特定のフォーム、レポート、またはコントロールを右クリックしたときにメニューを表示する場合に使用します。

    単純なショートカット メニュー

    1. ナビゲーション ウィンドウで、ショートカット メニューを表示するフォームまたはレポートを右クリックし、[デザイン ビュー] をクリックします。

    2. [デザイン] タブの [表示/非表示] グループの [プロパティ シート] をクリックします。

    3. ショートカット メニューを割り当てるコントロールまたはオブジェクトをクリックします。

      注: オブジェクト全体を選択するには、[プロパティ シート] 作業ウィンドウの上部にある一覧で [フォーム] または [レポート] をクリックします。

    4. プロパティ シートの [その他] タブの [ショートカット メニュー バー] プロパティ ボックスに、手順 2. で作成したマクロの名前 (この例では "mcrAddShortcutMenu") を入力します。

  • メニューをグローバル ショートカット メニューとして追加する

    この手順では、現在のデータベースの既定のショートカット メニューをすべて置き換えます。特定のフォーム、レポート、またはコントロールに割り当てたカスタム ショートカット メニューは影響を受けません。

    1. Office ボタンの画像Microsoft Office ボタンをクリックし、[ Access のオプション] をクリックします。

    2. [Access のオプション] ダイアログ ボックスの [カレント データベース] をクリックします。

    3. [リボンとツールバーのオプション] の [ショートカット メニュー バー] ボックスに、手順 2. で作成したマクロの名前 (この例では "mcrAddShortcutMenu") を入力します。

注: 

  • カスタム ショートカット メニューは、オブジェクトの既定のショートカット メニューの代わりに表示されます。これらのメニューで Access コマンドを使用するには、"RunCommand/コマンドの実行" アクションを使って、そのコマンドをメニューのマクロ グループに追加します。

  • コントロールに割り当てられたカスタム ショートカット メニューは、データベースで定義された他のカスタム ショートカット メニューよりも優先されます。フォームまたはレポートに割り当てられたカスタム ショートカット メニューは、カスタム グローバル ショートカット メニューよりも優先されます。

  • フォーム、レポート、またはデータベースにメニュー マクロを指定すると、そのフォーム、レポート、またはデータベースを開くたびに、指定したメニュー マクロが実行されます。フォーム、レポート、またはデータベースを開いているときに、メニュー マクロや、コマンドを定義したマクロ グループを変更した場合は、フォーム、レポート、またはデータベースをいったん閉じる必要があります。フォーム、レポート、またはデータベースをもう一度開くと、変更が表示に反映されます。

  • サブメニューを作成するには、手順 1. に従って、サブメニュー コマンドだけを含む別のマクロ グループを作成します。次に、もう一度手順 1. に従って、上位レベルのメニューのコマンドを定義します。"AddMenu/メニューの追加" マクロ アクションを使用して、上位レベルのマクロ グループのアイテムとしてサブメニューを追加します。次の図に、サブメニューを含むメニューのマクロ グループと、結果として表示されるショートカット メニューを示します。マクロ グループの 3 行目で、[エクスポート] サブメニュー (mcrSubMenu) が作成されています。

    サブメニューがあるショートカット メニュー

    メニューの各レベルのマクロ グループに "AddMenu/メニューの追加" アクションを使用すると、複数レベルのサブメニューを作成できます。それぞれの "AddMenu/メニューの追加" アクションに対して "Menu Name/メニュー名" 引数の値を必ず指定してください。そうしないと、上位レベルのメニューでサブメニューが空白として表示されます。

  • トップレベルのメニュー マクロに限り、マクロ条件がサポートされています。したがって、トップ レベルのメニューについては、メニュー マクロの条件を使用して、特定のメニューまたはショートカット メニューを表示するかどうかを決めることができます。メニューのコマンドやサブメニューについては、条件を使用して表示または非表示にすることはできません。また、カスタム ショートカット メニューまたはグローバル ショートカット メニューも、条件を使用して表示または非表示にできます。

  • 必要に応じて、手順 2 で作成したメニュー マクロには、マクロ グループの一部ができます。たとえば、複数のオブジェクトまたはコントロールのいくつかのショートカット メニューを使っている場合は、すべてのメニュー マクロを含むオブジェクトを 1 つのマクロを作成できます。[マクロ名] 列を表示し、各マクロについて一意の名前を入力してください。手順 3 で、次の表記法を使用してマクロを参照:マクロ。たとえば、 mcrAddShortcutMenus.AddMenu2です。

ページの先頭へ

注: 機械翻訳についての免責事項: この記事の翻訳はコンピューター システムによって行われており、人間の手は加えられていません。マイクロソフトでは、英語を話さないユーザーがマイクロソフトの製品、サービス、テクノロジに関するコンテンツを理解するのに役立てるため、こうした機械翻訳を提供しています。記事は機械翻訳されているため、用語、構文、文法などに誤りがある場合があります。

スキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×