リボンとは、プログラム ウィンドウの上部でコマンドのグループを表示する帯状の部分で、新しい Microsoft Office Fluent ユーザー インターフェイスのコンポーネントです。Office Fluent ユーザー インターフェイスは Microsoft Office Access 2007 のコマンドを一元管理するためのもので、以前のバージョンの Access にあるメニューとツールバーに対応します。
Office Access 2007 で高度なアプリケーションを作成するようになると、アプリケーションを使いやすくするために、Office Fluent のリボンのカスタマイズが必要になることがあります。たとえば、ユーザーが特定のコマンドを使用できないように、リボンの既定のタブの一部または全部を非表示にすることや、ユーザーが使用できるコマンドだけを表示する新しいユーザー設定タブを作成することができます。
Office Fluent ユーザー インターフェイスを使用するすべての 2007 Microsoft Office system プログラムでは、拡張マークアップ言語 (XML) (Extensible Markup Language (XML) : SGML (Standard Generalized Markup Language) を簡略化したもの。タグをカスタマイズできるため、柔軟に情報を管理および表示できます。) を使用してリボンをカスタマイズします。そのため、ある程度の XML の基礎知識があると役立ちます。ここでは XML の概念については説明しませんが、リボンの基本的なカスタマイズ手順と、各自のニーズに合わせて変更できるいくつかの XML の例を示します。
XML およびリボンのカスタマイズの詳細については、[参照] セクションのリンク先を参照してください。
目的に合ったトピックをクリックしてください
リボンのカスタマイズの手法について
Office Access 2007 でリボンをカスタマイズするには、カスタマイズ XML を作成し、コードを追加するかデータベース プロパティを設定して、Access がリボンを作成するときにその XML が使われるようにします。この XML を使用して、既存のタブを非表示にしたり、新しいタブ、コマンド グループ、およびコマンドを追加したりできます。ここでは、Access に組み込まれているコマンド (検索、並べ替え、保存など) を追加する方法と、自分で作成した Access マクロを実行するコマンドを追加する方法を示します。
XML を格納できる場所はいくつかありますが、最も簡単な方法の 1 つは、現在のデータベースのシステム テーブルに格納することです。これを行うには、USysRibbons という名前のシステム テーブルを作成し、そのテーブルにリボン XML を追加した後で、ユーザー設定のリボンをデータベース全体に表示するか、特定のフォームまたはレポートに表示するかを指定します。複数のユーザー設定のリボンを定義し、1 つをアプリケーション全体に表示して、残りのリボンをデータベースの個々のフォームやレポートに表示することもできます。
ページの先頭へ
ユーザー設定のリボンを作成して適用する
ここでは、ユーザー設定のリボンを作成して適用するための操作手順を示します。
始める前に
ナビゲーション ウィンドウにシステム テーブルを表示する 既定では、システム テーブルはナビゲーション ウィンドウに表示されないので、[ナビゲーション オプション] ダイアログ ボックスで設定を変更し、作成した USysRibbons テーブルが表示されるようにします。次の手順に従います。
- Access でデータベースを開いた状態で、ナビゲーション ウィンドウの上部にあるナビゲーション バーを右クリックし、ショートカット メニューの [ナビゲーション オプション] をクリックします。
- [ナビゲーション オプション] ダイアログ ボックスで、[表示オプション] の [システム オブジェクトの表示] チェック ボックスをオンにし、[OK] をクリックします。
Access のシステム テーブルがナビゲーション ウィンドウに表示されます。
アドイン ユーザー インターフェイスのエラー メッセージの表示を有効にする リボンのカスタマイズ XML の作成とトラブルシューティングを行う場合、エラー メッセージは有用な情報源になります。そのため、エラー メッセージが表示されるようにしておくと役立ちます。次の手順を実行します。
(Microsoft Office ボタン) をクリックし、[Access のオプション] をクリックします。
- [詳細設定] をクリックします。
- [標準] の [アドイン ユーザー インターフェイスに関するエラーを表示する] チェック ボックスをオンにし、[OK] をクリックします。
USysRibbons システム テーブルを作成する
次の手順に従って、USysRibbons システム テーブルを作成します。後からこのテーブルを使用して、リボンのカスタマイズ XML を格納します。
- [作成] タブの [テーブル] で [テーブル デザイン] をクリックします。
- テーブルに次のフィールドを追加します。フィールド名は、ここに表示されているとおりに入力してください。
| フィールド名 |
種類 |
フィールド サイズ |
| ID |
オートナンバー |
長整数型 (Long Integer) |
| RibbonName |
テキスト |
255 |
| RibbonXml |
メモ |
|
必要に応じて、リボン XML の機能を説明するコメント フィールドなどを追加することもできます。
- [ID] フィールドを選択します。[デザイン] タブの [ツール] で [主キーの設定] をクリックします。
- クイック アクセス ツールバーの [上書き保存] をクリックするか、Ctrl キーを押しながら S キーを押します。新しいテーブルに USysRibbons という名前を付けます。
リボンのカスタマイズ XML を USysRibbons テーブルに追加する
この例では、データベースのユーザーが [作成] タブのツールを一切使用できないようにします。さらに、次の図に示すように、[貼り付け] コマンドだけが含まれる [A Custom Tab] という名前の新しいタブを作成します。

この構成を作成するのが、次の手順に示す XML です。
- ナビゲーション ウィンドウで、[USysRibbons] テーブルを右クリックし、ショートカット メニューの [データシート ビュー] をクリックします。
- 次のデータをテーブルに追加します。この 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>
|
この XML では、まず "何もない状態から開始 (start from scratch)" しないように、つまりリボンの既定のタブを表示するように指定しています。次に、既定のタブの 1 つ ([作成] タブ) だけを非表示にするように指定しています。最後に、"A Custom Tab" という名前の新しいリボン タブを作成し、そのタブに "A Custom Group" という名前のコマンド グループを追加し、そのグループに [貼り付け] コマンドを追加しています。この例に関する詳細と、各自のニーズに合わせてこの XML をカスタマイズする方法については、「XML の例について」を参照してください。
- USysRibbons テーブルを閉じ、データベースを閉じてから開き直します。
ユーザー設定のリボンを適用する
ユーザー設定のリボン XML をテーブルに格納したら、リボンをデータベース全体に適用するか、特定のフォームまたはレポートに適用するかに応じて、次のいずれかの操作を行います。
- ユーザー設定のリボンをデータベース全体に適用する
(Microsoft Office ボタン) をクリックし、[Access のオプション] をクリックします。
-
[カレント データベース] をクリックし、[リボンとツール バーのオプション] で [リボン名] を選択します。次に、目的のリボン (この例では [My Tab]) をクリックします。
- [OK] をクリックします。
- ユーザー設定のリボンを特定のフォームまたはレポートに適用する
- ナビゲーション ウィンドウで、ユーザー設定のリボンを適用するフォームまたはレポートを右クリックし、ショートカット メニューの [デザイン ビュー] をクリックします。
-
プロパティ シートがまだ表示されていない場合は、F4 キーを押して表示します。
- プロパティ シートの上部にある [選択の種類] の一覧で、オブジェクトの種類 ([フォーム] または [レポート]) が選択されていることを確認します。
- プロパティ シートの [その他] タブで、[リボン名] をクリックし、フォームまたはレポートを開いたときに表示するリボン (この例では [My Tab]) をクリックします。
- クイック アクセス ツールバーの [上書き保存] をクリックするか、Ctrl キーを押しながら S キーを押します。
- フォームまたはレポートを閉じ、ナビゲーション ウィンドウでそれらをダブルクリックして開き直します。
選択したリボンが表示されます。
ユーザー設定のリボンが正しく機能することを確認した後は、次の操作を行ってシステム テーブルを再び非表示にできます。
- ナビゲーション ウィンドウの上部にあるナビゲーション バーを右クリックし、ショートカット メニューの [ナビゲーション オプション] をクリックします。
- [ナビゲーション オプション] ダイアログ ボックスで、[表示オプション] の [システム オブジェクトの表示] チェック ボックスをオフにし、[OK] をクリックします。
ページの先頭へ
既定のリボンに戻す
ユーザー設定のリボンの使用をやめて既定のリボンに戻すには、ユーザー設定のリボンをアプリケーション全体で使用しているか、特定のフォームまたはレポートで使用しているかに応じて、次のいずれかの操作を行います。
既定のアプリケーション レベルのリボンに戻す
(Microsoft Office ボタン) をクリックし、[Access のオプション] をクリックします。
-
[カレント データベース] をクリックし、[リボンとツール バーのオプション] で [リボン名] ボックスの内容を削除します。
- データベースを閉じて開き直します。
Access の既定のリボン タブが表示されます。リボン XML は削除しない限り USysRibbons テーブルに残っているので、[リボン名] オプションを以前の値に設定し直せば、ユーザー設定のリボンを復元できます。
フォームまたはレポートの既定のリボンに戻す
- デザイン ビューでフォームまたはレポートを開きます。
-
プロパティ シートがまだ表示されていない場合は、F4 キーを押して表示します。
- プロパティ シートの上部にある [選択の種類] の一覧で、オブジェクトの種類 ([フォーム] または [レポート]) が選択されていることを確認します。
- プロパティ シートの [その他] タブで、[リボン名] プロパティ ボックスの内容を削除します。
- フォームまたはレポートを保存して閉じてから、開き直します。
リボン 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 の行を追加し、idMso と label の値を変えることによって、リボンにグループとコントロールをさらに追加することができます。たとえば、現在選択しているオブジェクトを 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 へのエクスポート操作を起動するコントロールです。

メモ ユーザー設定のリボンの group id と tab id の値は、すべて一意にする必要があります。
コマンドの idMso 値を調べる 組み込みコマンドの idMso 値を調べるには、次の手順を実行します。
(Microsoft Office ボタン) をクリックし、[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>
|
マクロの作成方法の詳細については、[参照] セクションのリンク先を参照してください。
ページの先頭へ