次の方法で共有


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

このチュートリアルでは、PowerPoint を自動化するカスタム作業ウィンドウの作成方法を示します。 このカスタム作業ウィンドウでは、カスタム作業ウィンドウに配置された MonthCalendar コントロールをユーザーがクリックしたときに、日付をスライドに挿入します。

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

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

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

  • カスタム作業ウィンドウのユーザー インターフェイスの設計。

  • カスタム作業ウィンドウによる PowerPoint の自動化。

  • PowerPoint でのカスタム作業ウィンドウの表示。

Note

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

前提条件

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

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

まず、PowerPoint 用の VSTO アドイン プロジェクトを作成します。

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

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

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

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

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

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

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

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

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

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

    MonthCalendar コントロールがユーザー コントロールのデザイン領域よりも大きい場合は、ユーザー コントロールのサイズを変更して、 MonthCalendar コントロールが収まるようにします。

カスタム作業ウィンドウから PowerPoint を自動化する

VSTO アドインの目的は、アクティブなプレゼンテーションの最初のスライドに、選択した日付を記入することです。 コントロールの DateChanged イベントを使用すると、日付の選択を変更するたびに、その日付が追加されるようになります。

カスタム作業ウィンドウから PowerPoint を自動化するには

  1. デザイナーで、 MonthCalendar コントロールをダブルクリックします。

    MyUserControl.cs ファイルまたは MyUserControl.vb ファイルが開き、 DateChanged イベントのイベント ハンドラーが作成されます。

  2. 次のコードをファイルの先頭に追加します。 このコードでは、Microsoft.Office.Core 名前空間と PowerPoint 名前空間のエイリアスを作成します。

    using Office = Microsoft.Office.Core;
    using PowerPoint = Microsoft.Office.Interop.PowerPoint;
    
  3. MyUserControl クラスに次のコードを追加します。 このコードでは、Shape オブジェクトを MyUserControl のメンバーとして宣言します。 次の手順では、この Shape を使って、アクティブなプレゼンテーションのスライドにテキスト ボックスを追加します。

    private PowerPoint.Shape textbox;
    
  4. monthCalendar1_DateChanged イベント ハンドラーを次のコードで置き換えます。 このコードでは、アクティブなプレゼンテーションの最初のスライドにテキスト ボックスを追加して、現在選択されている日付をそのテキスト ボックスに追加します。 また、このコードでは Globals.ThisAddIn オブジェクトを使用して PowerPoint のオブジェクト モデルにアクセスします。

    private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
    {
        try
        {
            if (textbox != null)
            {
                textbox.Delete();
            }
    
            PowerPoint.Slide slide =
                Globals.ThisAddIn.Application.ActivePresentation.Slides[1];
            textbox = slide.Shapes.AddTextbox(
                Office.MsoTextOrientation.msoTextOrientationHorizontal,
                50, 100, 600, 50);
            textbox.TextFrame.TextRange.Text = e.Start.ToLongDateString();
            textbox.TextFrame.TextRange.Font.Size = 48;
            textbox.TextFrame.TextRange.Font.Color.RGB =
                 Color.DarkViolet.ToArgb();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
        }
    }
    
  5. ソリューション エクスプローラーで、 MyAddIn プロジェクトを右クリックして、 [ビルド]をクリックします。 プロジェクトのビルドでエラーが発生しないことを確認します。

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

VSTO アドインの起動時にカスタム作業ウィンドウを表示するには、VSTO アドインの Startup イベント ハンドラーで、ユーザー コントロールを作業ウィンドウに追加します。

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

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

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

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

    private MyUserControl myUserControl1;
    private Microsoft.Office.Tools.CustomTaskPane myCustomTaskPane;
    
  4. ThisAddIn_Startup イベント ハンドラーを次のコードで置き換えます。 このコードは CustomTaskPane オブジェクトを MyUserControl コレクションに追加することにより、新しい CustomTaskPanes を作成します。 コードでは、作業ウィンドウも表示されます。

    private void ThisAddIn_Startup(object sender, System.EventArgs e)
    {
        myUserControl1 = new MyUserControl();
        myCustomTaskPane = this.CustomTaskPanes.Add(myUserControl1, "Calendar");
        myCustomTaskPane.Visible = true;
    }
    

アドインをテストする

プロジェクトを実行すると、PowerPoint が開き、VSTO アドインによりカスタム作業ウィンドウが表示されます。 MonthCalendar コントロールをクリックし、コードをテストします。

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

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

  2. カスタム作業ウィンドウが表示されていることを確認します。

  3. 作業ウィンドウの MonthCalendar コントロールで日付をクリックします。

    アクティブなプレゼンテーションの最初のスライドに日付が挿入されます。

次のステップ

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