次の方法で共有


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

更新 : 2007 年 11 月

対象

このトピックの情報は、ここに示す Visual Studio Tools for Office プロジェクトおよび Microsoft Office アプリケーションにのみ適用されます。

プロジェクトの種類

  • アプリケーション レベルのプロジェクト

Microsoft Office アプリケーション

  • Excel 2007

  • Outlook 2007

  • PowerPoint 2007

  • Word 2007

詳細については、「アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。

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

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

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

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

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

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

Bb608590.alert_note(ja-jp,VS.90).gifメモ :

次の手順で参照している 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 のインストール」を参照してください。

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

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

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

  • 2007 Microsoft Office システムの Excel アドイン プロジェクト テンプレートを使用して、SynchronizeTaskPaneAndRibbon という名前の Excel アドイン プロジェクトを作成します。詳細については、「方法 : Visual Studio Tools for 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 Tools for Office によって自動的に生成されます。Visual Studio Tools for Office は、さらにコード エディタで 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 で電子メール メッセージと共にカスタム作業ウィンドウを表示する

概念

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

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

リボンの概要