Applies ToAccess for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

リボン ( コマンドのグループを含むプログラム ウィンドウの上部にあるストリップ) は、 Microsoft Office Fluent ユーザー インターフェイスのコンポーネントです。 Office Fluent ユーザー インターフェイス では、 Accessのコマンドに対して 1 つのホームが提供されます。

Accessを使用してより高度なアプリケーションを構築し始めると、アプリケーションを使いやすくするために Office Fluent リボンをカスタマイズすることが必要になる場合があります。 たとえば、既定のタブの一部またはすべてを非表示にして、ユーザーが特定のコマンドを使用できないようにしたり、使用するコマンドのみを含む新しいカスタム タブを作成したりできます。

Office Fluent ユーザー インターフェイスを使用するすべての Microsoft Office プログラムでは、拡張マークアップ言語 (XML) を使用してリボンをカスタマイズします。 そのため、XML に関する基本的な知識が役立ちます。 この記事では XML の概念については説明しませんが、基本的なリボンカスタマイズ手順と、ニーズに合わせて変更できる XML の例について説明します。

この記事では、XML を使用して独自のカスタム リボンを作成する方法について説明します。 組み込みのツールを使用して既存のリボンを変更する場合は、「 Office でリボンをカスタマイズする」を参照してください。

目的に合ったトピックをクリックしてください

リボンのカスタマイズ手法について

Accessでは、カスタマイズ XML を作成し、コードを追加するか、リボンの作成時にその XML を使用するように Access に指示するデータベース プロパティを設定することで、リボンをカスタマイズします。 XML を使用すると、既存のタブを非表示にしたり、新しいタブ、コマンド グループ、コマンドを追加したりできます。 この記事の手順では、Access に組み込まれているコマンド (検索、並べ替え、保存など) を追加する方法と、自分で作成した Access マクロを実行するコマンドを追加する方法について説明します。

XML を格納できる場所はいくつかありますが、最も簡単な方法の 1 つは、現在のデータベースのシステム テーブルに格納することです。 このプロセスでは、USysRibbons という名前のシステム テーブルを作成し、リボン XML を追加し、データベース全体または特定のフォームまたはレポートにカスタム リボンを表示するかどうかを指定します。 複数のカスタム リボン (アプリケーション全体用に 1 つ)、データベース内の個々のフォームまたはレポート用の追加のリボンを定義できます。

カスタム リボンをCreateして適用する

次のセクションでは、カスタム リボンを作成して適用する手順について説明します。

始める前に

ナビゲーション ウィンドウにシステム テーブルを表示する    既定では、システム テーブルはナビゲーション ウィンドウに表示されないため、[ ナビゲーション オプション] ダイアログ ボックスで設定を変更して、作成後に USysRibbons テーブルを表示できるようにする必要があります。 次の手順で行います。

  1. Access でデータベースを開いた状態で、ナビゲーション ウィンドウの上部にあるナビゲーション バーを右クリックし、ショートカット メニューの [ ナビゲーション オプション ] をクリックします。

  2. [ナビゲーション オプション] ダイアログ ボックスの [表示オプション] で、[システム オブジェクトの表示] チェック ボックスを選択し、[OK] をクリックします

    ナビゲーション ウィンドウに Access システム テーブルが表示されます。

アドイン ユーザー インターフェイスのエラー メッセージの表示を有効にする    エラー メッセージは、リボンのカスタマイズ XML を作成およびトラブルシューティングする際に重要な情報ソースであるため、Access で表示することをお勧めします。 次の手順で行います。

  1. [ファイル] メニューの [オプション] をクリックします。 

  2. [ クライアント設定] をクリックします。 

  3. [全般] で、[アドイン のユーザー インターフェイス エラーチェック表示] ボックスを選択し、[OK] をクリックします

USysRibbons システム テーブルをCreateする

USysRibbons システム テーブルを作成するには、次の手順に従います。 後で、このテーブルを使用してリボンのカスタマイズ XML を格納します。

  1. [作成] タブで、[テーブル] グループの [テーブル デザイン] をクリックします。

  2. 次のフィールドをテーブルに追加します。 表示されているとおりにフィールド名を必ず入力してください。

    フィールド名

    Type

    フィールド サイズ

    ID

    オートナンバー

    長整数型

    RibbonName

    テキスト

    255

    RibbonXml

    メモ

  3. 必要に応じて、リボン XML の関数を記述するコメント フィールドなど、このテーブルにさらにフィールドを追加できます。

  4. [ID] フィールドを選択します。 [デザイン] タブで、[ツール] グループの [主キーの設定] をクリックします。

  5. クイック アクセス ツール バーの [保存] をクリックするか、Ctrl キーを押しながら S キーを押します。 新しいテーブルに USysRibbons という名前を付けます

リボンのカスタマイズ XML を USysRibbons テーブルに追加する

この例では、データベースのユーザーが [Create] タブのツールを使用できないようにするとします。 さらに、次の図に示すように、[貼り付け] コマンドだけを含む [ カスタム タブ] という名前の新しいタブを作成します。

[カスタム リボン] タブ

次の手順の XML では、この構成が作成されます。

  1. ナビゲーション ウィンドウで USysRibbons テーブルを右クリックし、ショートカット メニューの [ データシート ビュー ] をクリックします。

  2. テーブルに次のデータを追加します。 この記事の XML サンプルをコピーし、テーブルに直接貼り付けることができます。

    ID

    RibbonName

    RibbonXML

    (AutoNumber)

    マイ タブ

    <customUI xmlns="http://schemas.microsoft.com
    /office/2006/01/customui">
      <ribbon startFromScratch="false">
        <tabs>
          <tab idMso="TabCreate" visible="false" />
          <tab id="dbCustomTab" label="A Custom Tab" visible="true">
            <group id="dbCustomGroup" label="A Custom Group">
              <control idMso="Paste" label="Built-in Paste" enabled="true"/>
            </group>
          </tab>
        </tabs>
      </ribbon>
    </customUI>
    
  3. この XML は、最初に Access に "ゼロから開始" しないように指示します。つまり、Access に既定のリボン タブを表示するように指定します。 次に、既定のタブ ([Create] タブ) の 1 つだけを非表示にするように Access に指示します。 最後に、"A Custom Tab" という名前の新しいリボン タブを作成し、"カスタム グループ" という名前のコマンド グループをタブに追加し、[貼り付け] コマンドをグループに追加します。 この例の詳細と、ニーズに合わせてカスタマイズする方法については、「 XML の例について」セクションを参照してください。

  4. USysRibbons テーブルを閉じ、データベースを閉じてもう一度開きます。

カスタム リボンを適用する

カスタム リボン XML がテーブルに格納されたので、データベース全体にリボンを適用するか、特定のフォームまたはレポートに適用するかに応じて、次のいずれかの操作を行います。

  • カスタム リボンをデータベース全体に適用する    

    1. [ファイル] メニューの [オプション] をクリックします。 

    2. [ 現在のデータベース] をクリックし、[ リボンとツール バーのオプション]リボン名 の一覧を選択し、目的のリボン (この場合は [マイ タブ] ) をクリックします。

    3. [OK] をクリックします。

  • カスタム リボンを特定のフォームまたはレポートに適用する    

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

    2. プロパティ シートが表示されていない場合は、F4 キーを押して表示します。

    3. プロパティ シートの上部にある [選択の種類] で、オブジェクトの種類 (フォーム または レポート) が一覧で選択されていることを確認します。

    4. プロパティ シートの [ その他 ] タブで、 リボン名 の一覧をクリックし、フォームまたはレポートを開くときに表示するリボン (この場合は [マイ タブ] ) をクリックします。

    5. クイック アクセス ツール バーの [保存] をクリックするか、Ctrl キーを押しながら S キーを押します。

    6. フォームまたはレポートを閉じ、ナビゲーション ウィンドウでダブルクリックして再度開きます。

      選択したリボンが表示されます。

カスタム リボンが正しく動作することを確認したら、次の手順を実行してシステム テーブルをもう一度非表示にすることができます。

  1. ナビゲーション ウィンドウの上部にあるナビゲーション バーを右クリックし、ショートカット メニューの [ ナビゲーション オプション ] をクリックします。

  2. [ナビゲーション オプション] ダイアログ ボックスの [表示オプション] で、[システム オブジェクトの表示] チェック ボックスをオフにし、[OK] をクリックします。

ページの先頭へ

既定のリボンを復元する

カスタム リボンの使用を停止し、既定のリボンを復元するには、カスタム リボンがアプリケーション全体で使用されているか、特定のフォームまたはレポートによって使用されているかに応じて、次のいずれかの手順を使用します。

既定のアプリケーション レベルのリボンを復元する

  1. [ファイル] メニューの [オプション] をクリックします。 

  2. [ 現在のデータベース] をクリックし、[ リボンとツール バーのオプション]下にある [リボン名 ] ボックスの内容を削除します。

  3. データベースを閉じてから、再度開きます。

Access では、既定のリボン タブが表示されます。 リボン XML は、削除するまで USysRibbons テーブルに残ります。そのため、カスタム リボンを元に戻す場合は、[ リボン名] オプションを以前に含まれていた値に戻します。

フォームまたはレポートの既定のリボンを復元する

  1. デザイン ビューでフォームまたはレポートを開きます。

  2. プロパティ シートが表示されていない場合は、F4 キーを押して表示します。

  3. プロパティ シートの上部にある [選択の種類] で、オブジェクトの種類 (フォーム または レポート) が一覧で選択されていることを確認します。

  4. プロパティ シートの [ その他 ] タブで、[ リボン名 ] プロパティ ボックスの内容を削除します。

  5. フォームまたはレポートを保存、閉じてから再度開きます。

リボン XML は、削除するまで USysRibbons テーブルに残ります。そのため、カスタム リボンを元に戻す場合は、 リボン名 プロパティの値を以前に含まれていた値に戻します。

ページの先頭へ

XML の例を理解する

この記事で前に使用した XML の例と、作成したカスタム リボンの図を次に示します。

<customUI xmlns="http://schemas.microsoft.com
/office/2006/01/customui">
  <ribbon startFromScratch="false">
    <tabs>
      <tab idMso="TabCreate" visible="false" />
      <tab id="dbCustomTab" label="A Custom Tab" visible="true">
        <group id="dbCustomGroup" label="A Custom Group">
          <control idMso="Paste" label="Built-in Paste" enabled="true"/>
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>

[カスタム リボン] タブ

この例では、XML の 2 行目で startFromScratch 属性を False に設定 します。 値を False に設定すると、既存のすべてのタブはそのまま残り、既存のタブの右側に新しいタブが追加されます。 この属性を True に 設定すると、既存のすべてのタブが削除され、XML で作成したタブのみが表示されます。 startFromScratch 属性を False に設定した場合でも、個々のタブを非表示にすることができます。 これは、組み込みの [Create] タブを非表示にする XML の 4 行目で示されています。 残りの行では、カスタム タブとカスタム グループが作成され、次の XML 行を使用して組み込みの [貼り付け] コマンドがグループに追加されます。

<control idMso="Paste" label="Built-in Paste" enabled="true"/>

カスタム リボンにグループまたはコントロールを追加する    同様の XML 行を追加し、異なる idMsoラベル の値を置き換えることで、リボンにさらにグループとコントロールを追加できます。 たとえば、現在選択されているオブジェクトを Excel にエクスポートするコントロールを作成するには、次の XML を使用します。

<control idMso="ExportExcel" label="Export to Excel" enabled="true"/>

Paste コマンドと同じグループにコントロールを追加するには、 貼り付け コマンドを作成する行の直前または直後に XML の新 しい行を挿入します。 新しいグループを作成するには、上記の カスタム グループ グループを作成する XML をコピー、貼り付け、変更できます。 次の例では、2 つのコントロールをカスタム グループに追加する XML を示します。

<customUI xmlns="http://schemas.microsoft.com
/office/2006/01/customui">
  <ribbon startFromScratch="false">
    <tabs>
      <tab idMso="TabCreate" visible="false" />
      <tab id="dbCustomTab" label="A Custom Tab" visible="true">
        <group id="dbCustomGroup" label="A Custom Group">
          <control idMso="Paste" label="Built-in Paste" enabled="true"/>
        </group>
        <group id="dbCustomGroup2" label="Another Custom Group">
          <control idMso="ImportExcel" label="Import from Excel" enabled="true"/>
          <control idMso="ExportExcel" label="Export to Excel" enabled="true"/>
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>

この XML は、 別のグループを [カスタム] タブに追加します。 次の図に示すように、新しいグループには、Excel からインポート操作を開始するコントロールと Excel へのエクスポート操作を開始するコントロールの 2 つが含まれています。

グループが 2 つある [カスタム] リボンのタブ

注: カスタム リボンの各 グループ IDタブ ID の値は一意である必要があります。

コマンドの idMso 値について説明します    組み込みコマンドの idMso 値を確認するには、次の手順に従います。

  1. [ファイル] メニューの [オプション] をクリックします。 

  2. [ リボンのカスタマイズ ] または [ クイック アクセス ツール バー] をクリックします。 

  3. 情報が必要な項目の上にポインターを移動します。 Access では、コントロールの idMso 値がかっこで囲まれたヒントに表示されます。

Access マクロを実行するコマンドを追加する    Access マクロを実行するコマンドを追加することで、カスタム リボンにさらに柔軟性を追加できます。 たとえば、 MyMacro という名前のマクロを作成したとします。 マクロを実行するコマンドをリボンに追加するには、XML に次の行を追加します。

<button id="RunMyMacro" label="Run My Macro" onAction="MyMacro"/>

前の例の Paste コマンドと同じグループにコントロールを追加するには、貼り付けコマンドを作成する行の直前または後に XML の新しい行を挿入します。 次の例では、 コマンドを追加する XML を示します。

<customUI xmlns="http://schemas.microsoft.com
/office/2006/01/customui">
  <ribbon startFromScratch="false">
    <tabs>
      <tab idMso="TabCreate" visible="false" />
      <tab id="dbCustomTab" label="A Custom Tab" visible="true">
        <group id="dbCustomGroup" label="A Custom Group">
          <control idMso="Paste" label="Built-in Paste" enabled="true"/>
         <button id="RunMyMacro" label="Run My Macro" onAction="MyMacro"/>
        </group>
        <group id="dbCustomGroup2" label="Another Custom Group">
          <control idMso="ImportExcel" label="Import from Excel" enabled="true"/>
          <control idMso="ExportExcel" label="Export to Excel" enabled="true"/>
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>

ページの先頭へ

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。