Access でカスタム リボンを作成する

リボン (コマンドのグループを含むプログラム ウィンドウの上部にある帯) は、プログラム ウィンドウのコンポーネント Microsoft Office Fluent ユーザー インターフェイス。 この Office Fluent ユーザー インターフェイス では、コマンドを 1 つのホームで使用 Access。

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

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

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

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

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

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

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

ユーザー設定のリボンを作成して適用する

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

始める前に

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

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

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

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

アドインのユーザー インターフェイスエラー メッセージの表示を有効にする    エラー メッセージは、リボンのカスタマイズ XML を作成およびトラブルシューティングする際に役立つ情報のソースなので、Access に表示させるのが良い方法です。 次の手順で行います。

  1. [ファイル] > [オプション] の順にクリックします。 

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

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

USysRibbons システム テーブルを作成する

この手順を使用して、USysRibbons システム テーブルを作成します。 後で、このテーブルを使用してリボンのカスタマイズ XML を保存します。

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

  2. 次のフィールドをテーブルに追加します。 フィールド名は、次のように正確に入力してください。

    フィールド名

    種類​​

    フィールド サイズ

    ID

    オートナンバー

    長整数型

    RibbonName

    テキスト

    255

    RibbonXml

    メモ

  3. 必要に合った場合は、このテーブルにさらにフィールドを追加できます。このテーブルには、リボン XML の機能を説明する [コメント] フィールドがあります。

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

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

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

この例では、データベースのユーザーが [作成] タブのツールを使うのを防ぐ 必要がある場合 があります。 さらに、次の図に示すように、[貼り付け] コマンドを使用して、[ユーザー設定タブ] という新しいタブを作成します。

[カスタム リボン] タブ

次の手順に示す XML によって、この構成が作成されます。

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

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

    ID

    RibbonName

    RibbonXML

    (オートナンバー)

    [マイ タブ]

    <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 に既定のリボン タブを表示するように指示します。 次に、既定のタブ ([作成] タブ) の 1 つを非表示に切り えます。 最後に、"ユーザー設定タブ" という名前の新しいリボン タブを作成し、"カスタム グループ" という名前のコマンド グループをタブに追加し、[貼り付け] コマンドをグループに追加します。 この例とニーズに合わせてカスタマイズする方法の詳細については、「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 に設定すると、Access では既存のすべてのタブがそのまま残り、新しいタブが既存のタブの右側に追加されます。 この属性を True に設定 すると、既存のすべてのタブが削除され、XML で作成したタブだけが表示されます。 startFromScratch 属性をFalseに設定しても、個々のタブを非表示にできます。 これは、組み込みの [作成] タブを非表示にする 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"/>

[貼り付け] コマンドと同じグループにコントロールを追加するには、[貼り付け] コマンドを作成する行の直前または直後に、新しい 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"/>

前の例の [貼り付け] コマンドと同じグループにコントロールを追加するには、[貼り付け] コマンドを作成する行の直前または直後に、新しい 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>

ページの先頭へ

ヘルプを表示

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

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

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

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

×