リボンの概要

更新 : 2007 年 11 月

対象

このトピックの情報は、指定された Visual Studio Tools for Office プロジェクトおよび Microsoft Office のバージョンにのみ適用されます。

プロジェクトの種類

  • ドキュメント レベルのプロジェクト

  • アプリケーション レベルのプロジェクト

Microsoft Office のバージョン

  • Excel 2007

  • Word 2007

  • Outlook 2007

  • PowerPoint 2007

詳細については、「アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。

2007 Microsoft Office system には、リボンと呼ばれる新しいユーザー インターフェイス (UI) 要素が導入されています。Visual Studio Tools for Office を使用して、次のアプリケーションのリボンをカスタマイズできます。

  • Microsoft Office Excel 2007

  • Microsoft Office Outlook 2007

  • Microsoft Office PowerPoint 2007

  • Microsoft Office Word 2007

Microsoft Office System のリボンについて

リボンとは、関連するコマンドを見つけやすいように整理するための手段です。コマンドは、コントロールとしてリボンに表示されます。コントロールは、アプリケーション ウィンドウの上端に水平に表示されるストリップに、グループごとに整理されます。関連するグループは、タブに整理されます。

以前のバージョンの Microsoft Office system で、メニューやツール バーを使用してアクセスしていたほとんどの機能には、このリボンを使用してアクセスできます。詳細については、技術資料「<開発者向け> 2007 Office system のユーザー インターフェイスに関する概要」を参照してください。

Microsoft Office リボンのカスタマイズ

リボンをカスタマイズするには、Visual Studio Tools for Office プロジェクトに次のいずれかのリボン項目を追加します。

  • リボン (ビジュアル デザイナ)

  • リボン (XML)

たとえば、Excel のリボンをカスタマイズするには、Excel アドイン プロジェクトにリボン項目を追加します。

リボン (ビジュアル デザイナ) 項目

リボン (ビジュアル デザイナ) 項目は、カスタム リボンのデザイン作業と開発作業を容易にするための高度なツールを提供します。リボン (ビジュアル デザイナ) 項目を使用して、次のようにリボンをカスタマイズします。

  • リボンにカスタム タブまたは組み込みタブを追加します。

  • カスタム タブまたは組み込みタブにカスタム グループを追加します。

    Bb386097.alert_note(ja-jp,VS.90).gifメモ :

    組み込みタブまたは組み込みグループは、Microsoft Office アプリケーションのリボンにあらかじめ用意されているものです。たとえば、[データ] タブは、Excel の組み込みタブです。[接続] グループは、[データ] タブの組み込みグループです。

  • カスタム グループにカスタム コントロールを追加します。

  • Microsoft Office メニューにカスタム コントロールを追加します。

リボン (ビジュアル デザイナ) 項目を使用してリボンをカスタマイズする方法の詳細については、「リボン デザイナ」を参照してください。

リボン (XML) 項目

リボン (XML) 項目を使用すると、リボン (ビジュアル デザイナ) 項目ではサポートされていない方法でリボンをカスタマイズできます。リボン (XML) 項目を使用して、次のようにリボンをカスタマイズします。

  • カスタム タブまたは組み込みタブに組み込みグループを追加します。

  • カスタム グループに組み込みコントロールを追加します。

  • カスタム コードを追加して、組み込みコントロールのイベント ハンドラをオーバーライドします。

  • クイック アクセス ツール バーをカスタマイズします。

  • 修飾識別子を使用して、アドイン間でリボンのカスタマイズを共有します。

リボン (XML) 項目を使用してリボンをカスタマイズする方法の詳細については、「リボン XML」を参照してください。

リボン デザイナからリボン XML へのリボンのエクスポート

リボン デザイナを使用してリボンを作成し、リボン (ビジュアル デザイナ) 項目ではサポートされていない方法でリボンをカスタマイズするには、リボンを XML にエクスポートします。

Visual Studio Tools for Office によって、自動的にリボン (XML) 項目が作成され、リボン XML ファイルが作成されます。リボン XML ファイルには、リボンの各コントロールについて要素と属性が設定されます。

リボン デザイナの [プロパティ] ウィンドウにあるすべてのプロパティがリボン XML ファイルに転送されるわけではありません。たとえば、Visual Studio Tools for Office では、Image プロパティや Text プロパティの値はエクスポートされません。これは、コントロールのイメージを割り当てたり、コントロールのテキストを設定したりするには、エクスポートしたプロジェクトのリボン コード ファイルにコールバック メソッドを作成する必要があるためです。Visual Studio Tools for Office で、エクスポート プロセスの一環としてコールバック メソッドが自動的に生成されることはありません。

また、既定値から変更されていない値は、リボン XML ファイルには設定されません。

リボンを XML にエクスポートする方法の詳細については、「方法 : リボンをリボン デザイナからリボン XML にエクスポートする」を参照してください。

コードの更新

新しいリボン コード ファイルは、ソリューション エクスプローラに追加されます。このファイルには、リボン XML クラスが含まれています。このクラスの Ribbon Callbacks 領域にコールバック メソッドを作成し、ボタンのクリックなどのユーザーによる操作を処理できます。イベント ハンドラからコールバック メソッドにコードを移動し、コードを変更して、リボン機能拡張 (RibbonX) プログラミング モデルで動作するようにコードを変更します。詳細については、「リボン XML」を参照してください。

ThisAddIn、ThisWorkbook、ThisDocument のいずれかのクラスに、CreateRibbonExtensibilityObject メソッドをオーバーライドして Office アプリケーションにリボン XML クラスを返すコードを追加することも必要です。

詳細については、「リボン XML」を参照してください。

プロジェクトへの複数のリボン項目の追加

1 つのプロジェクトに複数のリボン項目を追加することができます。これは、次の 2 つのタスクのうち、いずれかを実行する場合に役立ちます。

  • Outlook インスペクタにリボンを作成します。

    Bb386097.alert_note(ja-jp,VS.90).gifメモ :

    インスペクタは、ユーザーが電子メール メッセージの作成などの特定のタスクを実行するときに開くウィンドウです。

  • 実行時に表示するリボンを選択します。

Outlook インスペクタ用のリボンの作成

Outlook では、メインのアプリケーション ウィンドウにリボンは表示されません。Outlook では、リボンはインスペクタに表示されます。Outlook アドイン プロジェクトに対して、各インスペクタのリボンを追加できます。詳細については、「Outlook のリボンのカスタマイズ」を参照してください。

実行時に表示するリボンの選択

1 つのプロジェクトに複数のリボンを含めることができるため、実行時に表示するリボンを選択できます。

実行時に表示するリボンを選択するには、プロジェクトの ThisAddin、ThisWorkbook、ThisDocument のいずれかのクラスの CreateRibbonExtensibilityObject メソッドをオーバーライドし、表示するリボンを返します。次の例では、myCondition というフィールドの値をチェックし、適切なリボンを返します。

Bb386097.alert_note(ja-jp,VS.90).gifメモ :

この例で使用されている構文では、リボン (ビジュアル デザイナ) 項目を使用して作成されたリボンを返します。リボン (XML) 項目を使用して作成されたリボンを返す構文とは、少し異なります。リボン (XML) 項目を返す場合の詳細については、「リボン XML」を参照してください。

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() });
        }
    }

参照

処理手順

リボン コントロールのサンプル

方法 : リボンをリボン デザイナからリボン XML にエクスポートする

方法 : リボンのタブ オーダーを変更する

方法 : 組み込みタブをカスタマイズする

方法 : Microsoft Office メニューをカスタマイズする

方法 : リボンのカスタマイズの概要

方法 : アドインのユーザー インターフェイス エラーを表示する

チュートリアル : リボン デザイナを使用したカスタム タブの作成

チュートリアル : 実行時のリボン コントロールの更新

チュートリアル : リボン XML によるカスタム タブの作成

方法 : リボン グループにダイアログ ボックス起動ツールを追加する

概念

実行時のリボンへのアクセス

リボン デザイナ

リボン オブジェクト モデルの概要

リボン XML

Outlook のリボンのカスタマイズ