チュートリアル : カスタム作業ウィンドウとリボン ボタンの同期
このチュートリアルでは、ユーザーがリボン上のトグル ボタンをクリックすることによって表示/非表示を切り替えることができる、カスタム作業ウィンドウの作成方法を示します。Microsoft Office アプリケーションには、カスタム作業ウィンドウの表示/非表示を切り替える機能が既定では用意されていないため、ユーザーがクリックしてカスタム作業ウィンドウの表示/非表示を切り替えることができる、ユーザー インターフェイス (UI) 要素 (ボタンなど) を作成する必要があります。
対象: このトピックの情報は、Outlook 2013 と Outlook 2010 のアプリケーション レベルのプロジェクトに適用されます。詳細については、「Office アプリケーションおよびプロジェクト タイプ別の使用可能な機能」を参照してください。
このチュートリアルでは Excel を使用しますが、ここで説明する概念は上記のすべてのアプリケーションに該当します。
このチュートリアルでは、次の作業について説明します。
カスタム作業ウィンドウの UI のデザイン
リボンへのトグル ボタンの追加
トグル ボタンとカスタム作業ウィンドウの同期
[!メモ]
次の手順で参照している Visual Studio ユーザー インターフェイス要素の一部は、お使いのコンピューターでは名前や場所が異なる場合があります。これらの要素は、使用する Visual Studio のエディションとその設定によって決まります。詳細については、「Visual Studio の設定」を参照してください。
必須コンポーネント
このチュートリアルを実行するには、次のコンポーネントが必要です。
-
Microsoft Office Developer Tools が含まれているエディションの Visual Studio 2012。詳細については、「[Office ソリューションを開発できるようにコンピューターを構成する](bb398242\(v=vs.110\).md)」を参照してください。
- Microsoft Excel 2010またはMicrosoft Excel 2013。
アドイン プロジェクトの作成
この手順では、Excel のアドイン プロジェクトを作成します。
新しいプロジェクトを作成するには
Excel アドイン プロジェクト テンプレートを使用して、SynchronizeTaskPaneAndRibbon という名前の Excel アドイン プロジェクトを作成します。詳細については、「方法: Visual Studio で Office プロジェクトを作成する」を参照してください。
Visual Studio によって、ThisAddIn.cs コード ファイルまたは ThisAddIn.vb コード ファイルが開き、ソリューション エクスプローラーに SynchronizeTaskPaneAndRibbon プロジェクトが追加されます。
リボンへのトグル ボタンの追加
Office アプリケーションのデザイン ガイドラインの 1 つとして、ユーザーが常に Office アプリケーションの UI を操作できなければならないことがあります。ユーザーがカスタム作業ウィンドウを操作できるようにするには、そのウィンドウの表示/非表示を切り替えるトグル ボタンをリボンに追加します。トグル ボタンを作成するには、プロジェクトにリボン (ビジュアル デザイナー) 項目を追加します。デザイナーでは、コントロールの追加と配置、コントロールのプロパティの設定、およびコントロール イベントの処理を行うことができます。詳細については、「リボン デザイナー」を参照してください。
リボンにトグル ボタンを追加するには
[プロジェクト] メニューの [新しい項目の追加] をクリックします。
[新しい項目の追加] ダイアログ ボックスで、[リボン (ビジュアル デザイナー)] をクリックします。
新しいリボンの名前を ManageTaskPaneRibbon に変更し、[追加] をクリックします。
リボン デザイナーで ManageTaskPaneRibbon.cs ファイルまたは ManageTaskPaneRibbon.vb ファイルが開き、既定のタブとグループが表示されます。
リボン デザイナーで [group1] をクリックします。
[プロパティ] ウィンドウで、[ラベル] プロパティを Task Pane Manager に設定します。
[ツールボックス] の [Office リボン コントロール] タブから ToggleButton コントロールを [Task Pane Manager] グループにドラッグします。
[toggleButton1] をクリックします。
[プロパティ] ウィンドウで、[ラベル] プロパティを Show Task Pane に設定します。
カスタム作業ウィンドウのユーザー インターフェイスのデザイン
カスタム作業ウィンドウにはビジュアルなデザイナーはありませんが、レイアウトを指定してユーザー コントロールをデザインできます。このチュートリアルの後半で、カスタム作業ウィンドウにユーザー コントロールを追加します。
カスタム作業ウィンドウのユーザー インターフェイスをデザインするには
[プロジェクト] メニューの [ユーザー コントロールの追加] をクリックします。
[新しい項目の追加] ダイアログ ボックスで、ユーザー コントロールの名前を TaskPaneControl に変更し、[追加] をクリックします。
ユーザー コントロールがデザイナーで開きます。
[ツールボックス] の [コモン コントロール] タブから TextBox コントロールをユーザー コントロールにドラッグします。
カスタム作業ウィンドウの作成
アドインの起動時にカスタム作業ウィンドウを作成するには、アドインの Startup イベント ハンドラーの作業ウィンドウにユーザー コントロールを追加します。カスタム作業ウィンドウは既定では表示されません。このチュートリアルの後半では、リボンに追加したトグル ボタンをユーザーがクリックしたときに作業ウィンドウの表示と非表示を切り替えるコードを追加します。
カスタム作業ウィンドウを作成するには
ソリューション エクスプローラーで、[Excel] を展開します。
ThisAddIn.cs または ThisAddIn.vb を右クリックし、[コードの表示] をクリックします。
ThisAddIn クラスに次のコードを追加します。このコードは、TaskPaneControl のインスタンスを ThisAddIn のメンバーとして宣言します。
Private taskPaneControl1 As TaskPaneControl Private WithEvents taskPaneValue As Microsoft.Office.Tools.CustomTaskPane
private TaskPaneControl taskPaneControl1; private Microsoft.Office.Tools.CustomTaskPane taskPaneValue;
ThisAddIn_Startup イベント ハンドラーを次のコードで置き換えます。このコードは CustomTaskPanes フィールドに TaskPaneControl オブジェクトを追加しますが、カスタム作業ウィンドウは表示しません (CustomTaskPane クラスの Visible プロパティの既定値は false です)。さらに、この Visual C# コードは VisibleChanged イベントにイベント ハンドラーをアタッチします。
Private Sub ThisAddIn_Startup(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Me.Startup taskPaneControl1 = New TaskPaneControl() taskPaneValue = Me.CustomTaskPanes.Add( _ taskPaneControl1, "MyCustomTaskPane") End Sub
private void ThisAddIn_Startup(object sender, System.EventArgs e) { taskPaneControl1 = new TaskPaneControl(); taskPaneValue = this.CustomTaskPanes.Add( taskPaneControl1, "MyCustomTaskPane"); taskPaneValue.VisibleChanged += new EventHandler(taskPaneValue_VisibleChanged); }
ThisAddIn クラスに次のメソッドを追加します。このメソッドは VisibleChanged イベントを処理します。ユーザーが [閉じる] ボタン (X) をクリックして作業ウィンドウを閉じると、このメソッドがリボン上のトグル ボタンの状態を更新します。
Private Sub taskPaneValue_VisibleChanged(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles taskPaneValue.VisibleChanged Globals.Ribbons.ManageTaskPaneRibbon.ToggleButton1.Checked = taskPaneValue.Visible End Sub
private void taskPaneValue_VisibleChanged(object sender, System.EventArgs e) { Globals.Ribbons.ManageTaskPaneRibbon.toggleButton1.Checked = taskPaneValue.Visible; }
ThisAddIn クラスに次のプロパティを追加します。このプロパティは他のクラスに myCustomTaskPane1 オブジェクトを公開します。後の手順で、このプロパティを使用する MyRibbon クラスにコードを追加します。
Public ReadOnly Property TaskPane() As Microsoft.Office.Tools.CustomTaskPane Get Return taskPaneValue End Get End Property
public Microsoft.Office.Tools.CustomTaskPane TaskPane { get { return taskPaneValue; } }
トグル ボタンによるカスタム作業ウィンドウの表示/非表示の切り替え
最後に、ユーザーがリボン上のトグル ボタンをクリックしたときにカスタム作業ウィンドウの表示/非表示を切り替えるコードを追加します。
トグル ボタンを使用してカスタム作業ウィンドウの表示/非表示を切り替えるには
リボン デザイナーで、[Show Task Pane] トグル ボタンをダブルクリックします。
トグル ボタンの Click イベントを処理する toggleButton1_Click という名前のイベント ハンドラーが Visual Studio により自動的に生成されます。また、コード エディターで MyRibbon.cs ファイルまたは MyRibbon.vb ファイルが開きます。
toggleButton1_Click イベント ハンドラーを次のコードで置き換えます。ユーザーがトグル ボタンをクリックすると、このコードは、トグル ボタンが押された状態か押されていない状態かに基づいて、カスタム作業ウィンドウを表示するか、非表示にします。
Private Sub ToggleButton1_Click(ByVal sender As System.Object, _ ByVal e As Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs) Handles ToggleButton1.Click Globals.ThisAddIn.TaskPane.Visible = _ TryCast(sender, Microsoft.Office.Tools.Ribbon.RibbonToggleButton).Checked End Sub
private void toggleButton1_Click(object sender, RibbonControlEventArgs e) { Globals.ThisAddIn.TaskPane.Visible = ((RibbonToggleButton)sender).Checked; }
アドインのテスト
プロジェクトを実行すると、Excel が開きます。カスタム作業ウィンドウは表示されません。リボン上のトグル ボタンをクリックして、コードをテストします。
アドインをテストするには
F5 キーを押してプロジェクトを実行します。
Excel が開きリボン上に [アドイン] タブが表示されることを確認します。
リボン上の [アドイン] タブをクリックします。
[Task Pane Manager] グループの [Show Task Pane] トグル ボタンをクリックします。
トグル ボタンをクリックするたびに作業ウィンドウの表示/非表示が切り替わることを確認します。
作業ウィンドウが表示されたら、作業ウィンドウの隅にある [閉じる] ボタン (X) をクリックします。
トグル ボタンが押されていない状態であることを確認します。
次の手順
カスタム作業ウィンドウの作成方法の詳細については、以下のトピックを参照してください。
別のアプリケーションのアドインにカスタム作業ウィンドウを作成します。カスタム作業ウィンドウをサポートするアプリケーションの詳細については、「カスタム作業ウィンドウ」を参照してください。
カスタム作業ウィンドウからアプリケーションを自動化します。詳細については、「チュートリアル : カスタム作業ウィンドウからのアプリケーションの自動化」を参照してください。
ユーザーが Outlook で電子メール メッセージを開くたびにカスタム作業ウィンドウを作成する。詳細については、「チュートリアル : Outlook で電子メール メッセージと共にカスタム作業ウィンドウを表示する」を参照してください。
参照
処理手順
方法 : カスタム作業ウィンドウをアプリケーションに追加する
チュートリアル : カスタム作業ウィンドウからのアプリケーションの自動化
チュートリアル : Outlook で電子メール メッセージと共にカスタム作業ウィンドウを表示する