チュートリアル : カスタム作業ウィンドウからのアプリケーションの自動化
更新 : 2007 年 11 月
対象 |
---|
このトピックの情報は、ここに示す Visual Studio Tools for Office プロジェクトおよび Microsoft Office アプリケーションにのみ適用されます。 プロジェクトの種類
Microsoft Office アプリケーション
詳細については、「アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。 |
このチュートリアルでは、PowerPoint を自動化するカスタム作業ウィンドウの作成方法について説明します。ここで作成するカスタム作業ウィンドウは、ユーザーがカスタム作業ウィンドウ内の MonthCalendar をクリックしたときに、日付をスライドに挿入します。
このチュートリアルでは PowerPoint を使用しますが、ここで説明する概念は上記のすべてのアプリケーションに該当します。
このチュートリアルでは、次の作業について説明します。
カスタム作業ウィンドウのユーザー インターフェイスのデザイン
カスタム作業ウィンドウによる PowerPoint の自動化
PowerPoint でのカスタム作業ウィンドウの表示
メモ : |
---|
次の手順で参照している 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 プロジェクトが追加されます。
カスタム作業ウィンドウのユーザー インターフェイスのデザイン
カスタム作業ウィンドウにはビジュアルなデザイナはありませんが、レイアウトを指定してユーザー コントロールをデザインできます。このチュートリアルの後半で、カスタム作業ウィンドウにユーザー コントロールを追加します。
カスタム作業ウィンドウのユーザー インターフェイスをデザインするには
[プロジェクト] メニューの [ユーザー コントロールの追加] をクリックします。
[新しい項目の追加] ダイアログ ボックスで、ユーザー コントロールの名前を "MyUserControl" に変更し、[追加] をクリックします。
ユーザー コントロールがデザイナで開きます。
ツールボックスの [コモン コントロール] タブから MonthCalendar コントロールをユーザー コントロールにドラッグします。
MonthCalendar コントロールがユーザー コントロールのデザイン領域よりも大きい場合は、MonthCalendar コントロールが収まるように、ユーザー コントロールのサイズを変更します。
カスタム作業ウィンドウによる PowerPoint の自動化
アドインの目的は、選択された日付をアクティブなプレゼンテーションの最初のスライドに含めることです。選択された日付が変更されるたびにそれを追加するには、コントロールの DateChanged イベントを使用します。
カスタム作業ウィンドウから PowerPoint を自動化するには
デザイナの MonthCalendar コントロールをダブルクリックします。
MyUserControl.cs ファイルまたは MyUserControl.vb ファイルが開き、DateChanged イベントのイベント ハンドラが作成されます。
ファイルの先頭に次のコードを追加します。このコードは、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;
MyUserControl クラスに次のコードを追加します。このコードは、Microsoft.Office.Interop.PowerPoint.Shape のインスタンスを MyUserControl のメンバとして宣言します。次の手順では、この Microsoft.Office.Interop.PowerPoint.Shape を使用して、アクティブなプレゼンテーションのスライドにテキスト ボックスを追加します。
Private TextBox As PowerPoint.Shape
private PowerPoint.Shape textbox;
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()); } }
ソリューション エクスプローラで、MyAddIn プロジェクトを右クリックし、[ビルド] をクリックします。エラーを生じることなくプロジェクトがビルドされることを確認します。
カスタム作業ウィンドウの表示
アドインの起動時にカスタム作業ウィンドウを表示するには、アドインの Startup イベント ハンドラの作業ウィンドウにユーザー コントロールを追加します。
カスタム作業ウィンドウを表示するには
ソリューション エクスプローラで、PowerPoint を展開します。
ThisAddIn.cs または ThisAddIn.vb を右クリックし、[コードの表示] をクリックします。
ThisAddIn クラスに次のコードを追加します。このコードでは、MyUserControl および CustomTaskPane のインスタンスを ThisAddIn クラスのメンバとして宣言しています。
Private myUserControl1 As MyUserControl Private myCustomTaskPane As Microsoft.Office.Tools.CustomTaskPane
private MyUserControl myUserControl1; private Microsoft.Office.Tools.CustomTaskPane myCustomTaskPane;
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 コントロールをクリックし、コードをテストします。
アドインをテストするには
F5 キーを押してプロジェクトを実行します。
カスタム作業ウィンドウが表示されていることを確認します。
作業ウィンドウの MonthCalendar コントロールで日付をクリックします。
アクティブなプレゼンテーションの最初のスライドに日付が挿入されます。
次の手順
カスタム作業ウィンドウの作成方法の詳細については、以下のトピックを参照してください。
2007 Microsoft Office system のアプリケーションごとにアドインにカスタム作業ウィンドウを作成する。カスタム作業ウィンドウをサポートするアプリケーションの詳細については、「カスタム作業ウィンドウの概要」を参照してください。
カスタム作業ウィンドウの表示/非表示の切り替えに使用できるリボン ボタンを作成する。詳細については、「チュートリアル : カスタム作業ウィンドウとリボン ボタンの同期」を参照してください。
ユーザーが Outlook で電子メール メッセージを開くたびにカスタム作業ウィンドウを作成する。詳細については、「チュートリアル : Outlook で電子メール メッセージと共にカスタム作業ウィンドウを表示する」を参照してください。
参照
処理手順
方法 : カスタム作業ウィンドウをアプリケーションに追加する
チュートリアル : カスタム作業ウィンドウとリボン ボタンの同期
チュートリアル : Outlook で電子メール メッセージと共にカスタム作業ウィンドウを表示する
方法 : Outlook で電子メール メッセージと共にカスタム作業ウィンドウを表示する