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

更新 : 2007 年 11 月

対象

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

プロジェクトの種類

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

Microsoft Office アプリケーション

  • Excel 2007

  • InfoPath 2007

  • Outlook 2007

  • PowerPoint 2007

  • Word 2007

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

このチュートリアルでは、PowerPoint を自動化するカスタム作業ウィンドウの作成方法について説明します。ここで作成するカスタム作業ウィンドウは、ユーザーがカスタム作業ウィンドウ内の MonthCalendar をクリックしたときに、日付をスライドに挿入します。

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

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

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

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

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

Aa942861.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 PowerPoint 2007。

ここに挙げた Visual Studio のバージョンでは、Visual Studio Tools for Office が既定でインストールされます。インストールされているかどうかを確認する方法については、「Visual Studio Tools for Office のインストール」を参照してください。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Private Sub MonthCalendar1_DateChanged( _
        ByVal sender As System.Object, _
        ByVal e As System.Windows.Forms.DateRangeEventArgs) _
        Handles MonthCalendar1.DateChanged
    
        Try
            If TextBox IsNot Nothing Then
                TextBox.Delete()
            End If
    
            Dim Slide As 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 = _
                System.Drawing.Color.DarkViolet.ToArgb()
    
        Catch ex As Exception
            System.Windows.Forms.MessageBox.Show(ex.ToString())
        End Try
    End Sub
    
    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 プロジェクトを右クリックし、[ビルド] をクリックします。エラーを生じることなくプロジェクトがビルドされることを確認します。

カスタム作業ウィンドウの表示

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

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

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

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

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

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

    Private Sub ThisAddIn_Startup(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles Me.Startup
    
        myUserControl1 = New MyUserControl
        myCustomTaskPane = Me.CustomTaskPanes.Add(myUserControl1, "Calendar")
        myCustomTaskPane.Visible = True
    End Sub
    
    private void ThisAddIn_Startup(object sender, System.EventArgs e)
    {
        myUserControl1 = new MyUserControl();
        myCustomTaskPane = this.CustomTaskPanes.Add(myUserControl1, "Calendar");
        myCustomTaskPane.Visible = true;
    }
    

アドインのテスト

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

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

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

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

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

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

次の手順

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

参照

処理手順

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

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

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

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

概念

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

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