チュートリアル : リボン デザイナーを使用したカスタム タブの作成
更新 : 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 つのカスタム操作ウィンドウを追加します。 後の作業で、カスタム タブに対して、これらの操作ウィンドウの表示/非表示を切り替えるボタンを追加します。
操作ウィンドウを作成するには
[プロジェクト] メニューの [新しい項目の追加] をクリックします。
[新しい項目の追加] ダイアログ ボックスで、[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 にドラッグします。
[button1] をクリックして選択します。
[プロパティ] ウィンドウで、[ラベル] を Show Actions Pane 1 に設定します。
2 番目のボタンを group1 に追加し、[ラベル] プロパティを Show Actions Pane 2 に設定します。
ツールボックスの [Office リボン コントロール] タブから、ToggleButton コントロールを group1 にドラッグします。
[ラベル] プロパティを Hide Actions Pane に設定します。
カスタム タブのボタンによる操作ウィンドウの表示/非表示の切り替え
最後の手順で、ユーザーに応答するコードを追加します。 2 つのボタンの Click イベントと、トグル ボタンの Click イベントのイベント ハンドラーを追加します。 操作ウィンドウの表示/非表示を切り替えるイベント ハンドラーに、コードを追加します。
カスタム タブのボタンを使用して操作ウィンドウの表示/非表示を切り替えるには
ソリューション エクスプローラーで MyRibbon.vb または MyRibbon.cs を右クリックし、[コードの表示] をクリックします。
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 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 プロジェクトのリボンのカスタマイズの更新」を参照してください。
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] タブをクリックします。
[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 フォーム領域のデザイン」を参照してください。
参照
処理手順
方法 : Microsoft Office メニューをカスタマイズする
概念
履歴の変更
日付 |
履歴 |
理由 |
---|---|---|
2010 年 9 月 |
.NET Framework 3.5 のコード例を追加しました。 |
コンテンツ バグ修正 |
2010 年 9 月 |
このチュートリアルで作成したカスタム タブを確認する手順を追加しました。 この変更の前は、コントロールを [アドイン] タブに表示するだけでした。 |
コンテンツ バグ修正 |