チュートリアル : リボン デザイナーを使用したカスタム タブの作成
このチュートリアルでは、リボン デザイナーを使用してカスタム リボン タブを作成する方法を示します。リボン デザイナーでは、カスタム タブにコントロールを追加したり、カスタム タブにコントロールを配置したりすることができます。
対象: このトピックの情報は、Excel 2013 と Excel 2010、InfoPath 2013 と InfoPath 2010、Outlook 2013 と Outlook 2010、PowerPoint 2013 と PowerPoint 2010、Project 2013 と Project 2010、Visio 2013 と Visio 2010、および Word 2013 と Word 2010 のドキュメント レベルのプロジェクトおよびアプリケーション レベルのプロジェクトに適用されます。詳細については、「Office アプリケーションおよびプロジェクト タイプ別の使用可能な機能」を参照してください。
このチュートリアルでは、次の作業について説明します。
操作ウィンドウの作成.
カスタム タブの作成.
カスタム タブのボタンによる操作ウィンドウの表示/非表示の切り替え.
[!メモ]
次の手順で参照している Visual Studio ユーザー インターフェイス要素の一部は、お使いのコンピューターでは名前や場所が異なる場合があります。これらの要素は、使用する Visual Studio のエディションとその設定によって決まります。詳細については、「Visual Studio の設定」を参照してください。
必須コンポーネント
このチュートリアルを実行するには、次のコンポーネントが必要です。
-
Microsoft Office Developer Tools が含まれているエディションの Visual Studio 2012。詳細については、「[Office ソリューションを開発できるようにコンピューターを構成する](bb398242\(v=vs.110\).md)」を参照してください。
- Excel 2010 または Excel 2013。
このトピックのビデオ版については、「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 つのカスタム操作ウィンドウを追加します。後でカスタム タブにこれらの操作ウィンドウの表示/非表示を切り替えるボタンを追加します。
操作ウィンドウを作成するには
[プロジェクト] メニューの [新しい項目の追加] をクリックします。
[新しい項目の追加] のダイアログ ボックスで、ボックスの **[ActionsPaneControl]**は、を **[追加]**を選択します。
デザイナーで ActionsPaneControl1.cs ファイルまたは ActionsPaneControl1.vb ファイルが開きます。
ツールボックスの [コモン コントロール] タブから、デザイナー画面にラベルを追加します。
[プロパティ] ウィンドウで、label1 の [Text] プロパティを Actions Pane 1 に設定します。
手順 1. ~ 5. を繰り返して、2 つ目の操作ウィンドウとラベルを作成します。2 番目のラベルの [Text] プロパティは Actions Pane 2 に設定します。
カスタム タブの作成
Office アプリケーションのデザイン ガイドラインの 1 つとして、ユーザーが常に Office アプリケーションの UI を操作できなければならないことがあります。操作ウィンドウにこの機能を追加するには、リボンのカスタム タブから操作ウィンドウの表示/非表示を切り替えるボタンを追加できます。カスタム タブを作成するには、プロジェクトにリボン (ビジュアル デザイナー) 項目を追加します。デザイナーでは、コントロールの追加と配置、コントロールのプロパティの設定、およびコントロール イベントの処理を行うことができます。
カスタム タブを作成するには
[プロジェクト] メニューの [新しい項目の追加] をクリックします。
[新しい項目の追加] ダイアログ ボックスで、[リボン (ビジュアル デザイナー)] をクリックします。
新しいリボンの名前をに変更し、MyRibbon**[追加]**を選択します。
リボン デザイナーで MyRibbon.cs ファイルまたは MyRibbon.vb ファイルが開き、既定のタブとグループが表示されます。
リボン デザイナーで、既定のタブをクリックします。
[プロパティ] ウィンドウで、[ControlId] プロパティを展開し、[ControlIdType] プロパティを Custom に設定します。
[ControlId] プロパティを My Custom Tab に設定します。
リボン デザイナーで、**[group1]**を選択します。
[プロパティ] ウィンドウで、[ラベル] を Actions Pane Manager に設定します。
ツールボックスの [Office リボン コントロール] タブから、ボタンを group1 にドラッグします。
**[ボタン1]**を選択します。
[プロパティ] ウィンドウで、[ラベル] を Show Actions Pane 1 に設定します。
2 番目のボタンを group1 に追加し、[ラベル] プロパティを Show Actions Pane 2 に設定します。
ツールボックスの [Office リボン コントロール] タブから、ToggleButton コントロールを group1 にドラッグします。
[ラベル] プロパティを Hide Actions Pane に設定します。
カスタム タブのボタンによる操作ウィンドウの表示/非表示の切り替え
最後の手順で、ユーザーに応答するコードを追加します。2 つのボタンの Click イベントと、トグル ボタンの Click イベントのイベント ハンドラーを追加します。操作ウィンドウの非表示にしたり表示を有効にするには、次のコードをイベント ハンドラーに追加します。
カスタム タブのボタンを使用して操作ウィンドウの表示/非表示を切り替えるには
**[ソリューション エクスプローラー]では、MyRibbon.csまたはMyRibbon.vbのショートカット メニューを開き、[コードの表示]**を選択します。
MyRibbon クラスの先頭に、次のコードを追加します。このコードにより、操作ウィンドウ オブジェクトが 2 つ作成されます。
Dim actionsPane1 As New ActionsPaneControl1() Dim actionsPane2 As New ActionsPaneControl2()
ActionsPaneControl1 actionsPane1 = new ActionsPaneControl1(); ActionsPaneControl2 actionsPane2 = new ActionsPaneControl2();
MyRibbon_Load メソッドを次のコードに置き換えます。このコードにより、ActionsPane.Controls コレクションに操作ウィンドウ オブジェクトが追加され、オブジェクトが非表示になります。Visual C#コードは複数のリボン コントロール イベントにデリゲートをアタッチします。
Private Sub MyRibbon_Load(ByVal sender As System.Object, ByVal e As Microsoft.Office.Tools.Ribbon.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; 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); }
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] のボタンをクリックします。
カスタム タブをテストするには
F5 キーを押してプロジェクトを実行します。
[My Custom Tab] のタブをクリックします。
[Custom Actions Pane Manager] のグループで、**[Show Actions Pane 1]**を選択します。
操作ウィンドウが表示され、Actions Pane 1 というラベルが表示されます。
**[Show Actions Pane 2]**を選択します。
操作ウィンドウが表示され、Actions Pane 2 というラベルが表示されます。
**[Hide Actions Pane]**を選択します。
操作ウィンドウが表示されなくなります。
次の手順
Office UI をカスタマイズする方法の詳細については、次のトピックで説明します。
ドキュメント レベルのカスタマイズにコンテキスト ベースの UI を追加する。詳細については、「操作ウィンドウの概要」を参照してください。
標準またはカスタムの Microsoft Office Outlook フォームを拡張する。詳細については、「チュートリアル : Outlook フォーム領域のデザイン」を参照してください。