次の方法で共有


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

更新 : 2010 年 9 月

このチュートリアルでは、リボン デザイナーを使用してカスタム リボン タブを作成する方法について説明します。 リボン デザイナーでは、カスタム タブにコントロールを追加したり、カスタム タブにコントロールを配置したりすることができます。

対象: このトピックの情報は、Excel 2007 と Excel 2010、InfoPath 2010、Outlook 2007 と Outlook 2010、PowerPoint 2007 と PowerPoint 2010、Project 2010、Visio 2010、および Word 2007 と Word 2010 のドキュメント レベルのプロジェクトおよびアプリケーション レベルのプロジェクトに適用されます。詳細については、「Office アプリケーションおよびプロジェクト タイプ別の使用可能な機能」を参照してください。

このチュートリアルでは、次の作業について説明します。

  • 操作ウィンドウの作成

  • カスタム タブの作成

  • カスタム タブのボタンによる操作ウィンドウの表示/非表示の切り替え

注意

次の手順で参照している Visual Studio ユーザー インターフェイス要素の一部は、お使いのコンピューターでは名前や場所が異なる場合があります。 これらの要素は、使用する Visual Studio のエディションとその設定によって決まります。 詳細については、「設定の操作」を参照してください。

必須コンポーネント

このチュートリアルを実行するには、次のコンポーネントが必要です。

-

Microsoft Office 開発者ツールを含むエディションの Visual Studio 2010。 詳細については、「[Office ソリューションを開発できるようにコンピューターを構成する](bb398242\(v=vs.100\).md)」を参照してください。
  • Microsoft Office Excel 2007 または Excel 2010 

ビデオへのリンクこのトピックのビデオ版については、「Video How to: Creating a Custom Tab by Using the Ribbon Designer (ビデオ デモ: リボン デザイナーを使用してカスタム タブを作成する)」を参照してください。 関連のビデオ デモについては、「How Do I: Use the Ribbon Designer to Customize the Ribbon in Excel? (操作方法: リボン デザイナーを使用して Excel のリボンをカスタマイズする)」を参照してください。

Excel ブック プロジェクトの作成

すべての Office アプリケーションで、ほぼ同じ手順でリボン デザイナーを操作できます。 この例では、Excel ブックを使用します。

Excel ブック プロジェクトを作成するには

  • MyExcelRibbon という名前で Excel ブックのプロジェクトを作成します。 詳細については、「方法: Visual Studio で Office プロジェクトを作成する」を参照してください。

    Visual Studio によって、デザイナーで新しいブックが開き、ソリューション エクスプローラーMyExcelRibbon プロジェクトが追加されます。

操作ウィンドウの作成

プロジェクトに 2 つのカスタム操作ウィンドウを追加します。 後の作業で、カスタム タブに対して、これらの操作ウィンドウの表示/非表示を切り替えるボタンを追加します。

操作ウィンドウを作成するには

  1. [プロジェクト] メニューの [新しい項目の追加] をクリックします。

  2. [新しい項目の追加] ダイアログ ボックスで、[ActionsPaneControl] を選択し、[追加] をクリックします。

    デザイナーで ActionsPaneControl1.cs ファイルまたは ActionsPaneControl1.vb ファイルが開きます。

  3. ツールボックス[コモン コントロール] タブから、デザイナー画面にラベルを追加します。

  4. [プロパティ] ウィンドウで、label1 の [Text] プロパティを Actions Pane 1 に設定します。

  5. 手順 1. ~ 5. を繰り返して、2 つ目の操作ウィンドウとラベルを作成します。 2 番目のラベルの [Text] プロパティは Actions Pane 2 に設定します。

カスタム タブの作成

Office アプリケーションのデザイン ガイドラインの 1 つとして、ユーザーが常に Office アプリケーションの UI を操作できなければならないことがあります。 操作ウィンドウにこの機能を追加するには、リボンのカスタム タブから操作ウィンドウの表示/非表示を切り替えることができるボタンを追加します。 カスタム タブを作成するには、プロジェクトにリボン (ビジュアル デザイナー) 項目を追加します。 デザイナーでは、コントロールの追加と配置、コントロールのプロパティの設定、およびコントロール イベントの処理を行うことができます。

カスタム タブを作成するには

  1. [プロジェクト] メニューの [新しい項目の追加] をクリックします。

  2. [新しい項目の追加] ダイアログ ボックスで、[リボン (ビジュアル デザイナー)] をクリックします。

  3. 新しいリボンの名前を "MyRibbon" に変更し、[追加] をクリックします。

    リボン デザイナーで MyRibbon.cs ファイルまたは MyRibbon.vb ファイルが開き、既定のタブとグループが表示されます。

  4. リボン デザイナーで、既定のタブをクリックします。

  5. [プロパティ] ウィンドウで、[ControlId] プロパティを展開し、[ControlIdType] プロパティを Custom に設定します。

  6. [ControlId] プロパティを My Custom Tab に設定します。

  7. リボン デザイナーで [group1] をクリックします。

  8. [プロパティ] ウィンドウで、[ラベル] を Actions Pane Manager に設定します。

  9. ツールボックス[Office リボン コントロール] タブから、ボタンを group1 にドラッグします。

  10. [button1] をクリックして選択します。

  11. [プロパティ] ウィンドウで、[ラベル] を Show Actions Pane 1 に設定します。

  12. 2 番目のボタンを group1 に追加し、[ラベル] プロパティを Show Actions Pane 2 に設定します。

  13. ツールボックス[Office リボン コントロール] タブから、ToggleButton コントロールを group1 にドラッグします。

  14. [ラベル] プロパティを Hide Actions Pane に設定します。

カスタム タブのボタンによる操作ウィンドウの表示/非表示の切り替え

最後の手順で、ユーザーに応答するコードを追加します。 2 つのボタンの Click イベントと、トグル ボタンの Click イベントのイベント ハンドラーを追加します。 操作ウィンドウの表示/非表示を切り替えるイベント ハンドラーに、コードを追加します。

カスタム タブのボタンを使用して操作ウィンドウの表示/非表示を切り替えるには

  1. ソリューション エクスプローラーで MyRibbon.vb または MyRibbon.cs を右クリックし、[コードの表示] をクリックします。

  2. MyRibbon クラスの先頭に、次のコードを追加します。 このコードにより、操作ウィンドウ オブジェクトが 2 つ作成されます。

    Dim actionsPane1 As New ActionsPaneControl1()
    Dim actionsPane2 As New ActionsPaneControl2()
    
    ActionsPaneControl1 actionsPane1 = new ActionsPaneControl1();
    ActionsPaneControl2 actionsPane2 = new ActionsPaneControl2();
    
  3. MyRibbon_Load メソッドを次のコードに置き換えます。 このコードにより、ActionsPane.Controls コレクションに操作ウィンドウ オブジェクトが追加され、オブジェクトが非表示になります。 さらに、この Visual C# コードは複数のリボン コントロール イベントにデリゲートをアタッチします。

    Private Sub MyRibbon_Load(ByVal sender As System.Object, ByVal e As RibbonUIEventArgs) Handles MyBase.Load
        Globals.ThisWorkbook.ActionsPane.Controls.Add(actionsPane1)
        Globals.ThisWorkbook.ActionsPane.Controls.Add(actionsPane2)
        actionsPane1.Hide()
        actionsPane2.Hide()
        Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = False
    End Sub
    
    private void MyRibbon_Load(object sender, RibbonUIEventArgs e)
    {
        Globals.ThisWorkbook.ActionsPane.Controls.Add(actionsPane1);
        Globals.ThisWorkbook.ActionsPane.Controls.Add(actionsPane2);
        actionsPane1.Hide();
        actionsPane2.Hide();
        Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = false;
    
        // Use the following code in projects that target the .NET Framework 4.
        this.button1.Click += new Microsoft.Office.Tools.Ribbon.RibbonControlEventHandler(
            this.button1_Click);
        this.button2.Click += new Microsoft.Office.Tools.Ribbon.RibbonControlEventHandler(
            this.button2_Click);
        this.toggleButton1.Click += new Microsoft.Office.Tools.Ribbon.RibbonControlEventHandler(
            this.toggleButton1_Click);
    
        // For .NET Framework 3.5 projects, use the following code instead.
        // this.button1.Click += new EventHandler<RibbonControlEventArgs>(button1_Click);
        // this.button2.Click += new EventHandler<RibbonControlEventArgs>(button2_Click);
        // this.toggleButton1.Click += new EventHandler<RibbonControlEventArgs>(toggleButton1_Click);
    }
    

    .NET Framework 4 および .NET Framework 3.5 を対象とするプロジェクトでの Visual C# のコード例の相違点の詳細については、「.NET Framework 4 に移行する Office プロジェクトのリボンのカスタマイズの更新」を参照してください。

  4. MyRibbon クラスに、次の 3 つのイベント ハンドラー メソッドを追加します。 これらのメソッドは、2 つのボタンの Click イベントと、トグル ボタンの Click イベントを処理します。 button1 と button2 のイベント ハンドラーにより、別の操作ウィンドウが表示されます。 toggleButton1 のイベント ハンドラーにより、アクティブな操作ウィンドウの表示/非表示が切り替えられます。

    Private Sub Button1_Click(ByVal sender As System.Object, _
        ByVal e As Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs) _
            Handles Button1.Click
        Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = True
        actionsPane2.Hide()
        actionsPane1.Show()
        ToggleButton1.Checked = False
    End Sub
    
    Private Sub Button2_Click(ByVal sender As System.Object, _
        ByVal e As Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs) _
            Handles Button2.Click
    
        Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = True
        actionsPane1.Hide()
        actionsPane2.Show()
        ToggleButton1.Checked = False
    
    End Sub
    
    
    Private Sub ToggleButton1_Click(ByVal sender As System.Object, _
        ByVal e As Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs) _
            Handles ToggleButton1.Click
    
        If ToggleButton1.Checked Then
            Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = False
        Else
            Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = True
        End If
    
    End Sub
    
    private void button1_Click(object sender, RibbonControlEventArgs e)
    {
        Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = true;
        actionsPane2.Hide();
        actionsPane1.Show();
        ToggleButton1.Checked = false;
    }
    
    private void button2_Click(object sender, RibbonControlEventArgs e)
    {
        Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = true;
        actionsPane1.Hide();
        actionsPane2.Show();
        ToggleButton1.Checked = false;
    
    }
    
    private void toggleButton1_Click(object sender, RibbonControlEventArgs e)
    {
        if (toggleButton1.Checked == true)
        {
            Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = false;
        }
        else
        {
            Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = true;
        }
    
    }
    

カスタム タブのテスト

プロジェクトを実行し、Excel を起動して、リボンに [My Custom Tab] タブを表示します。 [My Custom Tab] のボタンをクリックして、操作ウィンドウの表示/非表示を切り替えます。

カスタム タブをテストするには

  1. F5 キーを押してプロジェクトを実行します。

  2. [My Custom Tab] タブをクリックします。

  3. [Actions Pane Manager] グループで、[Show Actions Pane 1] をクリックします。

    操作ウィンドウが表示され、Actions Pane 1 というラベルが表示されます。

  4. [Show Actions Pane 2] をクリックします。

    操作ウィンドウが表示され、Actions Pane 2 というラベルが表示されます。

  5. [Hide Actions Pane] をクリックします。

    操作ウィンドウが表示されなくなります。

次の手順

Office UI をカスタマイズする方法の詳細については、次のトピックで説明します。

参照

処理手順

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

方法: リボンのタブの位置を変更する

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

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

概念

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

リボンの概要

リボン デザイナー

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

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

履歴の変更

日付

履歴

理由

2010 年 9 月

.NET Framework 3.5 のコード例を追加しました。

コンテンツ バグ修正

2010 年 9 月

このチュートリアルで作成したカスタム タブを確認する手順を追加しました。 この変更の前は、コントロールを [アドイン] タブに表示するだけでした。

コンテンツ バグ修正