次の方法で共有


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

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

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

このチュートリアルでは Excel を具体的に使用しますが、このチュートリアルで示した概念は、上記のアプリケーションに適用できます。

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

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

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

  • トグル ボタンをカスタム作業ウィンドウと同期する。

次の手順で参照している 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) をクリックします。

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

次のステップ

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