次の方法で共有


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

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

適用対象: このトピックの情報は、Outlook の VSTO アドイン プロジェクトに適用されます。 詳細については、「Office アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。

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

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

  • カスタム作業ウィンドウの UI の設計

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

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

Note

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

前提条件

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

アドイン プロジェクトを作成する

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

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

  1. 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. [プロパティ] ウィンドウで、 [ラベル] プロパティを [作業ウィンドウ マネージャー]に設定します。

  6. [ツールボックス][Office リボン コントロール]タブから ToggleButton コントロールを [作業ウィンドウ マネージャー] グループにドラッグします。

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

  8. [プロパティ] ウィンドウで、 [ラベル] プロパティを [作業ウィンドウの表示]に設定します。

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

カスタム作業ウィンドウにはビジュアルなデザイナーはありませんが、好みに合わせたレイアウトでユーザー コントロールを設計できます。 この後に説明するチュートリアルでは、ユーザー コントロールをカスタム作業ウィンドウに追加します。

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

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

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

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

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

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

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

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

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

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

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

    private TaskPaneControl taskPaneControl1;
    private Microsoft.Office.Tools.CustomTaskPane taskPaneValue;
    
  4. ThisAddIn_Startup イベント ハンドラーを次のコードで置き換えます。 このコードでは、 TaskPaneControl フィールドに CustomTaskPanes オブジェクトを追加していますが、カスタム作業ウィンドウは表示しません (既定では、 Visible クラスの CustomTaskPane プロパティは falseです)。 Visual C# のコードでは、 VisibleChanged イベントにイベント ハンドラーをアタッチしています。

    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 void taskPaneValue_VisibleChanged(object sender, System.EventArgs e)
    {
        Globals.Ribbons.ManageTaskPaneRibbon.toggleButton1.Checked = 
            taskPaneValue.Visible;
    }
    
  6. ThisAddIn クラスに次のプロパティを追加します。 このプロパティは他のクラスにプライベート taskPaneValue オブジェクトを公開します。 このチュートリアルの後の手順では、このプロパティを使用する MyRibbon クラスにコードを追加します。

    public Microsoft.Office.Tools.CustomTaskPane TaskPane
    {
        get
        {
            return taskPaneValue;
        }
    }
    

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

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

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

  1. リボン デザイナーで、 [作業ウィンドウの表示] トグル ボタンをダブルクリックします。

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

  2. toggleButton1_Click イベント ハンドラーを次のコードで置き換えます。 ユーザーがトグル ボタンをクリックしたときには、このコードにより、トグル ボタンが押された状態か押されていない状態かに応じて、カスタム作業ウィンドウの表示または非表示を切り替えます。

    private void toggleButton1_Click(object sender, RibbonControlEventArgs e)
    {
        Globals.ThisAddIn.TaskPane.Visible = ((RibbonToggleButton)sender).Checked;
    }
    

アドインをテストする

プロジェクトを実行すると、Excel が開きます。カスタム作業ウィンドウは表示されません。 リボン上のトグル ボタンをクリックして、コードをテストします。

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

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

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

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

  3. [作業ウィンドウ マネージャー] グループの [作業ウィンドウの表示] トグル ボタンをクリックします。

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

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

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

次のステップ

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