チュートリアル : リボン デザイナを使用したカスタム タブの作成
更新 : 2007 年 11 月
対象 |
---|
このトピックの情報は、指定された Visual Studio Tools for Office プロジェクトおよび Microsoft Office のバージョンにのみ適用されます。 プロジェクトの種類
Microsoft Office のバージョン
詳細については、「アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。 |
このチュートリアルでは、リボン デザイナを使用してカスタム リボン タブを作成する方法について説明します。リボン デザイナでは、カスタム タブにコントロールを追加したり、カスタム タブにコントロールを配置したりすることができます。
このチュートリアルでは、次のタスクについて説明します。
操作ウィンドウの作成
カスタム タブの作成
カスタム タブのボタンによる操作ウィンドウの表示/非表示の切り替え
メモ : |
---|
次の手順で参照している Visual Studio ユーザー インターフェイス要素の一部は、お使いのコンピュータでは名前や場所が異なる場合があります。これらの要素は、使用する Visual Studio のエディションとその設定によって決まります。詳細については、「Visual Studio の設定」を参照してください。 |
前提条件
このチュートリアルを完了するには、次のコンポーネントが必要です。
Visual Studio Tools for Office (Visual Studio 2008 Professional および Visual Studio Team System のオプションの要素)
Microsoft Office Excel 2007
ここに挙げた Visual Studio のバージョンでは、Visual Studio Tools for Office が既定でインストールされます。インストールされているかどうかを確認する方法については、「Visual Studio Tools for Office のインストール」を参照してください。
ビデオ デモについては、「Video How to: Creating a Custom Tab by Using the Ribbon Designer」を参照してください。
Excel ブック プロジェクトの作成
すべての Office アプリケーションで、ほぼ同じ手順でリボン デザイナを操作できます。この例では、Excel ブックを使用します。
Excel ブック プロジェクトを作成するには
MyExcelRibbon という名前で Excel 2007 ブックのプロジェクトを作成します。詳細については、「方法 : Visual Studio Tools for 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 ファイルが開き、既定のタブとグループが表示されます。
リボン デザイナで [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();
C# では、コンストラクタに次のイベント ハンドラを追加する必要があります。イベンド ハンドラの作成方法の詳細については、「方法 : Visual Studio Tools for Office でイベント ハンドラを作成する」を参照してください。
this.button1.Click += new System.EventHandler <Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs> (this.button1_Click); this.button2.Click += new System.EventHandler <Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs> (this.button2_Click); this.toggleButton1.Click += new System.EventHandler <Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs> (this.toggleButton1_Click); this.Load += new System.EventHandler <Microsoft.Office.Tools.Ribbon.RibbonUIEventArgs> (this.MyRibbon_Load);
MyRibbon_Load イベントに次のコードを追加します。このコードにより、操作ウィンドウの Microsoft.Office.Tools.ActionsPane.Controls コレクションに操作ウィンドウ オブジェクトが追加され、オブジェクトが非表示になります。
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; }
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() 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() 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(); } private void button2_Click(object sender, RibbonControlEventArgs e) { Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = true; actionsPane1.Hide(); actionsPane2.Show(); } private void toggleButton1_Click(object sender, RibbonControlEventArgs e) { if (toggleButton1.Checked == true) { Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = false; } else { Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = true; } }
カスタム タブのテスト
プロジェクトを実行し、Excel を起動して、リボンに [アドイン] タブを表示します。[アドイン] のボタンをクリックして、操作ウィンドウの表示/非表示を切り替えます。
カスタム タブをテストするには
F5 キーを押してプロジェクトを実行します。
[アドイン] タブをクリックします。
[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 メニューをカスタマイズする