次の方法で共有


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

リボン デザイナーでは、カスタム タブを作成し、その後、カスタム タブの中でコントロールを追加して配置することができます。

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

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

Note

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

前提条件

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

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

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

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

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

    新しいブックが 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. Label プロパティを My Custom Tab に設定します。

  7. リボン デザイナーで group1 を選択します。

  8. [プロパティ] ウィンドウで、LabelActions Pane Manager に設定します。

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

  10. button1 を選択します。

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

  12. 2 つ目のボタンを group1 に追加し、Label プロパティを Show Actions Pane 2 に設定します。

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

  14. Label プロパティを Hide Actions Pane に設定します。

カスタム タブのボタンを使用して操作ウィンドウを非表示にして表示する

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

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

  1. ソリューション エクスプローラーMyRibbon.cs または MyRibbon.vb のショートカット メニューを開き、[コードの表示] を選択します。

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

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

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

    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. [Custom Actions Pane Manager] グループで、[Show Actions Pane 1] をクリックします。

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

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

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

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

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

次のステップ

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