リボンをカスタマイズする

リボンとは、プログラム ウィンドウの上部でコマンドのグループを表示する帯状の部分で、新しい Microsoft Office Fluent ユーザー インターフェイスのコンポーネントです。Office Fluent ユーザー インターフェイスは Microsoft Office Access 2007 のコマンドを一元管理するためのもので、以前のバージョンの Access にあるメニューとツールバーに対応します。

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

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

XML およびリボンのカスタマイズの詳細については、[参照] セクションのリンク先を参照してください。

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

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

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

既定のリボンに戻す

XML の例について

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

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

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

ページの先頭へ

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

ここでは、ユーザー設定のリボンを作成して適用するための操作手順を示します。

始める前に

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

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

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

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

アドイン ユーザー インターフェイスのエラー メッセージの表示を有効にする    リボンのカスタマイズ XML の作成とトラブルシューティングを行う場合、エラー メッセージは有用な情報源になります。そのため、エラー メッセージが表示されるようにしておくと役立ちます。次の手順を実行します。

  1. Office ボタンのイメージ (Microsoft Office ボタン) をクリックし、[Access のオプション] をクリックします。

  2. [詳細設定] をクリックします。

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

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

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

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

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

フィールド名

種類

フィールド サイズ

ID

オートナンバー

長整数型 (Long Integer)

RibbonName

テキスト

255

RibbonXml

メモ

  1. 必要に応じて、リボン XML の機能を説明するコメント フィールドなどを追加することもできます。

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

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

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

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

[カスタム リボン] タブ

この構成を作成するのが、次の手順に示す XML です。

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

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

ID

RibbonName

RibbonXML

(オートナンバー)

My Tab

<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>
  1. この XML では、まず "何もない状態から開始 (start from scratch)" しないように、つまりリボンの既定のタブを表示するように指定しています。次に、既定のタブの 1 つ ([作成] タブ) だけを非表示にするように指定しています。最後に、"A Custom Tab" という名前の新しいリボン タブを作成し、そのタブに "A Custom Group" という名前のコマンド グループを追加し、そのグループに [貼り付け] コマンドを追加しています。この例に関する詳細と、各自のニーズに合わせてこの XML をカスタマイズする方法については、「XML の例について」を参照してください。

  2. USysRibbons テーブルを閉じ、データベースを閉じてから開き直します。

ユーザー設定のリボンを適用する

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

  • ユーザー設定のリボンをデータベース全体に適用する    

    1. Office ボタンのイメージ (Microsoft Office ボタン) をクリックし、[Access のオプション] をクリックします。

    2. [カレント データベース] をクリックし、[リボンとツール バーのオプション] で [リボン名] を選択します。次に、目的のリボン (この例では [My Tab]) をクリックします。

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

  • ユーザー設定のリボンを特定のフォームまたはレポートに適用する    

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

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

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

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

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

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

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

ユーザー設定のリボンが正しく機能することを確認した後は、次の操作を行ってシステム テーブルを再び非表示にできます。

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

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

ページの先頭へ

既定のリボンに戻す

ユーザー設定のリボンの使用をやめて既定のリボンに戻すには、ユーザー設定のリボンをアプリケーション全体で使用しているか、特定のフォームまたはレポートで使用しているかに応じて、次のいずれかの操作を行います。

既定のアプリケーション レベルのリボンに戻す

  1. Office ボタンのイメージ (Microsoft Office ボタン) をクリックし、[Access のオプション] をクリックします。

  2. [カレント データベース] をクリックし、[リボンとツール バーのオプション] で [リボン名] ボックスの内容を削除します。

  3. データベースを閉じて開き直します。

Access の既定のリボン タブが表示されます。リボン XML は削除しない限り USysRibbons テーブルに残っているので、[リボン名] オプションを以前の値に設定し直せば、ユーザー設定のリボンを復元できます。

フォームまたはレポートの既定のリボンに戻す

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

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

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

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

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

リボン XML は削除しない限り USysRibbons テーブルに残っているので、[リボン名] プロパティの値を以前の値に設定し直せば、ユーザー設定のリボンを復元できます。

ページの先頭へ

XML の例について

次に示すのは、前に使用した 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 の行を追加し、idMsolabel の値を変えることによって、リボンにグループとコントロールをさらに追加することができます。たとえば、現在選択しているオブジェクトを Excel にエクスポートするコントロールを作成するには、次のような XML を使用します。

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

[貼り付け] コマンドと同じグループにコントロールを追加するには、[貼り付け] コマンドを作成している行の直前または直後に新しい XML の行を挿入します。新しいグループを作成する場合は、上の [A Custom Group] グループを作成している 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 では、[A Custom Tab] に新しいグループを追加しています。次の図に示すように、新しいグループには 2 つのコントロールが表示されます。Excel からのインポート操作を起動するコントロールと、Excel へのエクスポート操作を起動するコントロールです。

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

注: ユーザー設定のリボンの group idtab id の値は、すべて一意にする必要があります。

コマンドの idMso 値を調べる    組み込みコマンドの idMso 値を調べるには、次の手順を実行します。

  1. Office ボタンのイメージ (Microsoft Office ボタン) をクリックし、[Access のオプション] をクリックします。

  2. [カスタマイズ] をクリックします。

  3. 値を調べるアイテムの上にマウス ポインタを移動します。コントロールの 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 Insider に参加する

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

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

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

×