チュートリアル: カスタム作業ウィンドウからのアプリケーションの自動化
このチュートリアルでは、PowerPoint を自動化するカスタム作業ウィンドウの作成方法を示します。 このカスタム作業ウィンドウでは、カスタム作業ウィンドウに配置された MonthCalendar コントロールをユーザーがクリックしたときに、日付をスライドに挿入します。
適用対象: このトピックの情報は、Outlook の VSTO アドイン プロジェクトに適用されます。 詳細については、「Office アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。
このチュートリアルでは、具体的に PowerPoint を使用していますが、チュートリアルで示される概念は、上記のすべてのアプリケーションに当てはまります。
このチュートリアルでは、次の作業について説明します。
カスタム作業ウィンドウのユーザー インターフェイスの設計。
カスタム作業ウィンドウによる PowerPoint の自動化。
PowerPoint でのカスタム作業ウィンドウの表示。
Note
次の手順で参照している Visual Studio ユーザー インターフェイス要素の一部は、お使いのコンピューターでは名前や場所が異なる場合があります。 これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。 詳細については、「Visual Studio IDE のカスタマイズ」を参照してください。
前提条件
このチュートリアルを実行するには、次のコンポーネントが必要です。
Microsoft Office Developer Tools が含まれている Visual Studio のエディション。 詳細については、「Office ソリューションを開発できるようにコンピューターを構成する」を参照してください。
Microsoft PowerPoint 2010 または PowerPoint 2013。
アドイン プロジェクトを作成する
まず、PowerPoint 用の VSTO アドイン プロジェクトを作成します。
新しいプロジェクトを作成するには
PowerPoint アドイン プロジェクト テンプレートを使用して、 MyAddInという名前の PowerPoint VSTO アドイン プロジェクトを作成します。 詳細については、「方法: Visual Studio で Office プロジェクトを作成する」を参照してください。
Visual Studio によって、ThisAddIn.cs または ThisAddIn.vb コード ファイルが開かれ、ソリューション エクスプローラーに MyAddIn プロジェクトが追加されます。
カスタム作業ウィンドウのユーザー インターフェイスを設計する
カスタム作業ウィンドウにはビジュアルなデザイナーはありませんが、好みに合わせたレイアウトでユーザー コントロールを設計できます。 この後に説明するチュートリアルでは、ユーザー コントロールをカスタム作業ウィンドウに追加します。
カスタム作業ウィンドウのユーザー インターフェイスを設計するには
[プロジェクト] メニューの [ユーザー コントロールの追加]をクリックします。
[新しい項目の追加] ダイアログ ボックスで、ユーザー コントロールの名前を MyUserControlに変更して、 [追加]をクリックします。
ユーザー コントロールがデザイナーで開きます。
ツールボックス の [コモン コントロール]タブから、 MonthCalendar コントロールをユーザー コントロールにドラッグします。
MonthCalendar コントロールがユーザー コントロールのデザイン領域よりも大きい場合は、ユーザー コントロールのサイズを変更して、 MonthCalendar コントロールが収まるようにします。
カスタム作業ウィンドウから PowerPoint を自動化する
VSTO アドインの目的は、アクティブなプレゼンテーションの最初のスライドに、選択した日付を記入することです。 コントロールの DateChanged イベントを使用すると、日付の選択を変更するたびに、その日付が追加されるようになります。
カスタム作業ウィンドウから PowerPoint を自動化するには
デザイナーで、 MonthCalendar コントロールをダブルクリックします。
MyUserControl.cs ファイルまたは MyUserControl.vb ファイルが開き、 DateChanged イベントのイベント ハンドラーが作成されます。
次のコードをファイルの先頭に追加します。 このコードでは、Microsoft.Office.Core 名前空間と PowerPoint 名前空間のエイリアスを作成します。
MyUserControl
クラスに次のコードを追加します。 このコードでは、Shape オブジェクトをMyUserControl
のメンバーとして宣言します。 次の手順では、この Shape を使って、アクティブなプレゼンテーションのスライドにテキスト ボックスを追加します。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()); } }
ソリューション エクスプローラーで、 MyAddIn プロジェクトを右クリックして、 [ビルド]をクリックします。 プロジェクトのビルドでエラーが発生しないことを確認します。
カスタム作業ウィンドウを表示する
VSTO アドインの起動時にカスタム作業ウィンドウを表示するには、VSTO アドインの Startup イベント ハンドラーで、ユーザー コントロールを作業ウィンドウに追加します。
カスタム作業ウィンドウを表示するには
ソリューション エクスプローラーで、 [PowerPoint]を展開します。
ThisAddIn.cs または ThisAddIn.vb を右クリックして、 [コードの表示]をクリックします。
ThisAddIn
クラスに次のコードを追加します。 このコードはMyUserControl
と CustomTaskPane のインスタンスをThisAddIn
クラスのメンバーとして宣言します。ThisAddIn_Startup
イベント ハンドラーを次のコードで置き換えます。 このコードは CustomTaskPane オブジェクトをMyUserControl
コレクションに追加することにより、新しいCustomTaskPanes
を作成します。 コードでは、作業ウィンドウも表示されます。
アドインをテストする
プロジェクトを実行すると、PowerPoint が開き、VSTO アドインによりカスタム作業ウィンドウが表示されます。 MonthCalendar コントロールをクリックし、コードをテストします。
VSTO アドインをテストするには
F5 キーを押してプロジェクトを実行します。
カスタム作業ウィンドウが表示されていることを確認します。
作業ウィンドウの MonthCalendar コントロールで日付をクリックします。
アクティブなプレゼンテーションの最初のスライドに日付が挿入されます。
次のステップ
カスタム作業ウィンドウの作成方法の詳細については、次のトピックを参照してください。
別のアプリケーションの VSTO アドインのカスタム作業ウィンドウを作成します。 カスタム作業ウィンドウをサポートするアプリケーションの詳細については、「カスタム作業ウィンドウ」を参照してください。
カスタム作業ウィンドウの表示/非表示の切り替えに使用できるリボン ボタンを作成する。 詳細については、「チュートリアル: カスタム作業ウィンドウとリボン ボタンの同期」を参照してください。
Outlook で開いたそれぞれの電子メール メッセージ用に、カスタム作業ウィンドウを作成する。 詳細については、「チュートリアル: Outlook で電子メール メッセージと共にカスタム作業ウィンドウを表示する」を参照してください。