次の方法で共有


チュートリアル : カスタム作業ウィンドウとリボン ボタンの同期

このチュートリアルでは、ユーザーがリボン上のトグル ボタンをクリックすることによって表示/非表示を切り替えることができる、カスタム作業ウィンドウの作成方法を示します。 Microsoft Office アプリケーションには、カスタム作業ウィンドウの表示/非表示を切り替える機能が既定では用意されていないため、ユーザーがクリックしてカスタム作業ウィンドウの表示/非表示を切り替えることができる、ユーザー インターフェイス (UI) 要素 (ボタンなど) を作成する必要があります。

対象: このトピックの情報は、Excel 2007 と Excel 2010、InfoPath 2007 と InfoPath 2010、Outlook 2007 と Outlook 2010、PowerPoint 2007 と PowerPoint 2010、および Word 2007 と Word 2010 のアプリケーション レベルのプロジェクトに適用されます。詳細については、「Office アプリケーションおよびプロジェクト タイプ別の使用可能な機能」を参照してください。

このチュートリアルでは Excel を使用しますが、ここで説明する概念は上記のすべてのアプリケーションに該当します。

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

  • カスタム作業ウィンドウの UI のデザイン

  • リボンへのトグル ボタンの追加

  • トグル ボタンとカスタム作業ウィンドウの同期

注意

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

必須コンポーネント

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

-

Microsoft Office 開発者ツールを含むエディションの Visual Studio 2010。 詳細については、「[Office ソリューションを開発できるようにコンピューターを構成する](bb398242\(v=vs.100\).md)」を参照してください。
  • Microsoft Office Excel 2007 または Microsoft Excel 2010

アドイン プロジェクトの作成

この手順では、Excel のアドイン プロジェクトを作成します。

新しいプロジェクトを作成するには

  • Excel アドイン プロジェクト テンプレートを使用して、SynchronizeTaskPaneAndRibbon という名前の Excel アドイン プロジェクトを作成します。 詳細については、「方法: Visual Studio で Office プロジェクトを作成する」を参照してください。

    Visual Studio によって、ThisAddIn.cs コード ファイルまたは ThisAddIn.vb コード ファイルが開き、ソリューション エクスプローラーSynchronizeTaskPaneAndRibbon プロジェクトが追加されます。

リボンへのトグル ボタンの追加

Office アプリケーションのデザイン ガイドラインの 1 つとして、ユーザーが常に Office アプリケーションの UI を操作できなければならないことがあります。 ユーザーがカスタム作業ウィンドウを操作できるようにするには、そのウィンドウの表示/非表示を切り替えるトグル ボタンをリボンに追加します。 トグル ボタンを作成するには、プロジェクトにリボン (ビジュアル デザイナー) 項目を追加します。 デザイナーでは、コントロールの追加と配置、コントロールのプロパティの設定、およびコントロール イベントの処理を行うことができます。 詳細については、「リボン デザイナー」を参照してください。

リボンにトグル ボタンを追加するには

  1. [プロジェクト] メニューの [新しい項目の追加] をクリックします。

  2. [新しい項目の追加] ダイアログ ボックスで、[リボン (ビジュアル デザイナー)] をクリックします。

  3. 新しいリボンの名前を ManageTaskPaneRibbon に変更し、[追加] をクリックします。

    リボン デザイナーで ManageTaskPaneRibbon.cs ファイルまたは ManageTaskPaneRibbon.vb ファイルが開き、既定のタブとグループが表示されます。

  4. リボン デザイナーで [group1] をクリックします。

  5. [プロパティ] ウィンドウで、[ラベル] プロパティを Task Pane Manager に設定します。

  6. [ツールボックス][Office リボン コントロール] タブから ToggleButton コントロールを [Task Pane Manager] グループにドラッグします。

  7. [toggleButton1] をクリックします。

  8. [プロパティ] ウィンドウで、[ラベル] プロパティを Show Task Pane に設定します。

カスタム作業ウィンドウのユーザー インターフェイスのデザイン

カスタム作業ウィンドウにはビジュアルなデザイナーはありませんが、レイアウトを指定してユーザー コントロールをデザインできます。 このチュートリアルの後半で、カスタム作業ウィンドウにユーザー コントロールを追加します。

カスタム作業ウィンドウのユーザー インターフェイスをデザインするには

  1. [プロジェクト] メニューの [ユーザー コントロールの追加] をクリックします。

  2. [新しい項目の追加] ダイアログ ボックスで、ユーザー コントロールの名前を TaskPaneControl に変更し、[追加] をクリックします。

    ユーザー コントロールがデザイナーで開きます。

  3. [ツールボックス][コモン コントロール] タブから TextBox コントロールをユーザー コントロールにドラッグします。

カスタム作業ウィンドウの作成

アドインの起動時にカスタム作業ウィンドウを作成するには、アドインの Startup イベント ハンドラーの作業ウィンドウにユーザー コントロールを追加します。 カスタム作業ウィンドウは既定では表示されません。 このチュートリアルの後半では、リボンに追加したトグル ボタンをユーザーがクリックしたときに作業ウィンドウの表示と非表示を切り替えるコードを追加します。

カスタム作業ウィンドウを作成するには

  1. ソリューション エクスプローラーで、[Excel] を展開します。

  2. ThisAddIn.cs または ThisAddIn.vb を右クリックし、[コードの表示] をクリックします。

  3. ThisAddIn クラスに次のコードを追加します。 このコードは、TaskPaneControl のインスタンスを ThisAddIn のメンバーとして宣言します。

    Private taskPaneControl1 As TaskPaneControl
    Private WithEvents taskPaneValue As Microsoft.Office.Tools.CustomTaskPane
    
    private TaskPaneControl taskPaneControl1;
    private Microsoft.Office.Tools.CustomTaskPane taskPaneValue;
    
  4. 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);
    }
    
  5. 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;
    }
    
  6. 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;
        }
    }
    

トグル ボタンによるカスタム作業ウィンドウの表示/非表示の切り替え

最後に、ユーザーがリボン上のトグル ボタンをクリックしたときにカスタム作業ウィンドウの表示/非表示を切り替えるコードを追加します。

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

  1. リボン デザイナーで、[Show Task Pane] トグル ボタンをダブルクリックします。

    トグル ボタンの Click イベントを処理する toggleButton1_Click という名前のイベント ハンドラーが Visual Studio により自動的に生成されます。 また、コード エディターで MyRibbon.cs ファイルまたは MyRibbon.vb ファイルが開きます。

  2. 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 が開きます。カスタム作業ウィンドウは表示されません。 リボン上のトグル ボタンをクリックして、コードをテストします。

アドインをテストするには

  1. F5 キーを押してプロジェクトを実行します。

    Excel が開きリボン上に [アドイン] タブが表示されることを確認します。

  2. リボン上の [アドイン] タブをクリックします。

  3. [Task Pane Manager] グループの [Show Task Pane] トグル ボタンをクリックします。

    トグル ボタンをクリックするたびに作業ウィンドウの表示/非表示が切り替わることを確認します。

  4. 作業ウィンドウが表示されたら、作業ウィンドウの隅にある [閉じる] ボタン (X) をクリックします。

    トグル ボタンが押されていない状態であることを確認します。

次の手順

カスタム作業ウィンドウの作成方法の詳細については、以下のトピックを参照してください。

参照

処理手順

方法 : カスタム作業ウィンドウをアプリケーションに追加する

チュートリアル : カスタム作業ウィンドウからのアプリケーションの自動化

チュートリアル : Outlook で電子メール メッセージと共にカスタム作業ウィンドウを表示する

方法 : Outlook で電子メール メッセージと共にカスタム作業ウィンドウを表示する

概念

カスタム作業ウィンドウの概要

複数のアプリケーション ウィンドウでカスタム作業ウィンドウを管理する

リボンの概要