リボンの概要
2007 Microsoft Office system には、リボンと呼ばれる新しいユーザー インターフェイス (UI) 要素が導入されています。 リボンとは、関連するコマンドを見つけやすいように整理するための手段です。 コマンドは、コントロールとしてリボンに表示されます。 コントロールは、アプリケーション ウィンドウの上端に水平に表示されるストリップに、グループごとに整理されます。 関連するグループは、タブに整理されます。
以前のバージョンの Microsoft Office system で、メニューやツール バーを使用してアクセスしていたほとんどの機能には、このリボンを使用してアクセスできます。 詳細については、技術資料「<開発者向け> 2007 Office system のユーザー インターフェイスに関する概要」を参照してください。
対象: このトピックの情報は、Excel 2007 と Excel 2010、InfoPath 2010、Outlook 2007 と Outlook 2010、PowerPoint 2007 と PowerPoint 2010、Project 2010、Visio 2010、および Word 2007 と Word 2010 のドキュメント レベルのプロジェクトおよびアプリケーション レベルのプロジェクトに適用されます。詳細については、「Office アプリケーションおよびプロジェクト タイプ別の使用可能な機能」を参照してください。
Microsoft Office リボンのカスタマイズ
リボンをカスタマイズするには、Office プロジェクトに次のいずれかのリボン項目を追加します。
リボン (ビジュアル デザイナー)
リボン (XML)
たとえば、Excel のリボンをカスタマイズするには、Excel アドイン プロジェクトにリボン項目を追加します。
リボン (ビジュアル デザイナー) 項目
リボン (ビジュアル デザイナー) 項目は、カスタム リボンのデザイン作業と開発作業を容易にするための高度なツールを提供します。 リボン (ビジュアル デザイナー) 項目を使用して、次のようにリボンをカスタマイズします。
リボンにカスタム タブまたは組み込みタブを追加します。
カスタム タブまたは組み込みタブにカスタム グループを追加します。
注意
組み込みタブまたは組み込みグループは、Microsoft Office アプリケーションのリボンにあらかじめ用意されているものです。 たとえば、[データ] タブは、Excel の組み込みタブです。 [接続] グループは、[データ] タブの組み込みグループです。
カスタム グループにカスタム コントロールを追加します。
Microsoft Office メニューにカスタム コントロールを追加します。
リボン (ビジュアル デザイナー) 項目を使用してリボンをカスタマイズする方法の詳細については、「リボン デザイナー」を参照してください。
リボン (XML) 項目
リボン (XML) 項目を使用すると、リボン (ビジュアル デザイナー) 項目ではサポートされていない方法でリボンをカスタマイズできます。 リボン (XML) 項目を使用して、次のようにリボンをカスタマイズします。
カスタム タブまたは組み込みタブに組み込みグループを追加します。
カスタム グループに組み込みコントロールを追加します。
カスタム コードを追加して、組み込みコントロールのイベント ハンドラーをオーバーライドします。
クイック アクセス ツール バーをカスタマイズします。
修飾識別子を使用して、アドイン間でリボンのカスタマイズを共有します。
リボン (XML) 項目を使用してリボンをカスタマイズする方法の詳細については、「リボン XML」を参照してください。
リボン デザイナーからリボン XML へのリボンのエクスポート
リボン デザイナーを使用してリボンを作成し、リボン (ビジュアル デザイナー) 項目ではサポートされていない方法でリボンをカスタマイズするには、リボンを XML にエクスポートします。
Visual Studio によって、自動的にリボン (XML) 項目が作成され、リボン XML ファイルが作成されます。リボン XML ファイルには、リボンの各コントロールについて要素と属性が設定されます。
リボン デザイナーの [プロパティ] ウィンドウにあるすべてのプロパティがリボン XML ファイルに転送されるわけではありません。 たとえば、Visual Studio では、Image プロパティや Text プロパティの値はエクスポートされません。 これは、コントロールのイメージを割り当てたり、コントロールのテキストを設定したりするには、エクスポートしたプロジェクトのリボン コード ファイルにコールバック メソッドを作成する必要があるためです。 Visual Studio で、エクスポート プロセスの一環としてコールバック メソッドが自動的に生成されることはありません。
また、既定値から変更されていない値は、リボン XML ファイルには設定されません。
リボンを XML にエクスポートする方法の詳細については、「方法 : リボンをリボン デザイナーからリボン XML にエクスポートする」を参照してください。
コードの更新
新しいリボン コード ファイルは、ソリューション エクスプローラーに追加されます。 このファイルには、リボン XML クラスが含まれています。 このクラスの Ribbon Callbacks 領域にコールバック メソッドを作成し、ボタンのクリックなどのユーザーによる操作を処理できます。 イベント ハンドラーからコールバック メソッドにコードを移動し、コードを変更して、リボン機能拡張 (RibbonX) プログラミング モデルで動作するようにコードを変更します。 詳細については、「リボン XML」を参照してください。
ThisAddIn、ThisWorkbook、ThisDocument のいずれかのクラスに、CreateRibbonExtensibilityObject メソッドをオーバーライドして Office アプリケーションにリボン XML クラスを返すコードを追加することも必要です。
詳細については、「リボン XML」を参照してください。
プロジェクトへの複数のリボン項目の追加
1 つのプロジェクトに複数のリボン項目を追加することができます。 これは、次の 2 つのタスクのうち、いずれかを実行する場合に役立ちます。
Outlook インスペクターにリボンを作成します。 詳細については、「Outlook のリボンのカスタマイズ」を参照してください。
注意
インスペクターは、ユーザーが電子メール メッセージの作成などの特定のタスクを実行するときに開くウィンドウです。
実行時に表示するリボンを選択します。
実行時に表示するリボンの選択
1 つのプロジェクトに複数のリボンを含めることができるため、実行時に表示するリボンを選択できます。
実行時に表示するリボンを選択するには、プロジェクトの ThisAddin、ThisWorkbook、ThisDocument のいずれかのクラスの CreateRibbonExtensibilityObject メソッドをオーバーライドし、表示するリボンを返します。 次の例では、myCondition というフィールドの値をチェックし、適切なリボンを返します。
注意
この例で使用されている構文では、リボン (ビジュアル デザイナー) 項目を使用して作成されたリボンを返します。 リボン (XML) 項目を使用して作成されたリボンを返す構文とは、少し異なります。 リボン (XML) 項目を返す場合の詳細については、「リボン XML」を参照してください。
.NET Framework 4 を対象とするプロジェクトの場合は、次のコードを追加します。
Protected Overrides Function CreateRibbonExtensibilityObject() As _
Microsoft.Office.Core.IRibbonExtensibility
If myCondition = True Then
Return Globals.Factory.GetRibbonFactory().CreateRibbonManager _
(New Microsoft.Office.Tools.Ribbon.IRibbonExtension() _
{New Ribbon1()})
Else
Return Globals.Factory.GetRibbonFactory().CreateRibbonManager _
(New Microsoft.Office.Tools.Ribbon.IRibbonExtension() _
{New Ribbon2()})
End If
End Function
protected override Microsoft.Office.Core.IRibbonExtensibility
CreateRibbonExtensibilityObject()
{
if (myCondition == true)
{
return Globals.Factory.GetRibbonFactory().CreateRibbonManager(
new Microsoft.Office.Tools.Ribbon.IRibbonExtension[] { new Ribbon1() });
}
else
{
return Globals.Factory.GetRibbonFactory().CreateRibbonManager(
new Microsoft.Office.Tools.Ribbon.IRibbonExtension[] { new Ribbon2() });
}
}
.NET Framework 3.5 を対象とするプロジェクトの場合は、次のコードを追加します。
Protected Overrides Function CreateRibbonExtensibilityObject() As _
Microsoft.Office.Core.IRibbonExtensibility
If myCondition = True Then
Return New Microsoft.Office.Tools.Ribbon.RibbonManager _
(New Microsoft.Office.Tools.Ribbon.OfficeRibbon() _
{New Ribbon1()})
Else
Return New Microsoft.Office.Tools.Ribbon.RibbonManager _
(New Microsoft.Office.Tools.Ribbon.OfficeRibbon() _
{New Ribbon2()})
End If
End Function
protected override Microsoft.Office.Core.IRibbonExtensibility
CreateRibbonExtensibilityObject()
{
if (myCondition == true)
{
return new Microsoft.Office.Tools.Ribbon.RibbonManager(
new Microsoft.Office.Tools.Ribbon.OfficeRibbon[]
{ new Ribbon1() });
}
else
{
return new Microsoft.Office.Tools.Ribbon.RibbonManager(
new Microsoft.Office.Tools.Ribbon.OfficeRibbon[]
{ new Ribbon2() });
}
}
関連トピック
タイトル |
説明 |
---|---|
Microsoft Office アプリケーションのリボンをカスタマイズし、リボン (ビジュアルなデザイナー) 項目またはリボン (XML) 項目を Office プロジェクトに追加する方法について説明します。 |
|
リボン デザイナーを使用して、Microsoft Office アプリケーションのリボンに、カスタム タブ、グループ、およびコントロールを追加する方法について説明します。 |
|
リボン デザイナーを使用してカスタム リボン タブを作成する方法について説明します。 リボン デザイナーでは、カスタム タブにコントロールを追加したり、カスタム タブにコントロールを配置したりすることができます。 |
|
実行時にリボン コントロールのプロパティを取得および設定するために使用できる厳密に型指定されたオブジェクト モデルの概要について説明します。 |
|
Office アプリケーションへのリボンの読み込み後にリボン オブジェクト モデルを使用してリボン上のコントロールを更新する方法を説明します。 |
|
Microsoft Office Outlook のリボンをカスタマイズするための指針を示します。 |
|
Microsoft Office InfoPath のリボンをカスタマイズするための指針を示します。 |
|
リボンの表示、非表示、および変更を行い、ユーザーがコードをカスタム作業ウィンドウ、操作ウィンドウ、または Outlook フォーム領域のコントロールから実行できるようにする方法について説明します。 |
|
リボンのタブ オーダーを変更する方法について説明します。 |
|
組み込みタブにグループおよびコントロールを追加する方法について説明します。 |
|
[ファイル] タブ (Office 2010 の場合) または Microsoft Office ボタン (Office 2007 の場合) をクリックしたときに表示されるメニューにコントロールを追加する方法について説明します。 |
|
リボンの任意のグループにダイアログ ボックス起動ツールを追加する方法について説明します。 |
|
リボンをデザイナーからリボン XML にエクスポートし、高度な方法でリボンをカスタマイズする方法について説明します。 |
|
リボン XML を使用してリボンをカスタマイズする方法について説明します。 |
|
リボン (XML) 項目を使用してカスタム リボン タブを作成する方法について説明します。 |