チュートリアル : 初めての Outlook 用アプリケーション レベルのアドインの作成
このチュートリアルでは、Microsoft Office Outlook 用のアプリケーション レベルのアドインを作成する方法について説明します。 この種のソリューションに作成した機能は、どの Outlook アイテムが開いているかにかかわらず、アプリケーション自体に対して使用できます。 詳細については、「Office ソリューションの開発の概要」を参照してください。
対象: このトピックの情報は、Outlook 2007 と Outlook 2010 のアプリケーション レベルのプロジェクトに適用されます。詳細については、「Office アプリケーションおよびプロジェクト タイプ別の使用可能な機能」を参照してください。
このチュートリアルでは、次の作業について説明します。
Outlook 用の Outlook アドイン プロジェクトの作成
Outlook のオブジェクト モデルを使用して、新しいメール メッセージの件名と本文にテキストを追加するコードを記述する。
プロジェクトをビルドし、実行してテストする。
完成したプロジェクトをクリーンアップして、開発用コンピューターでこのアドインが自動的に実行されないようにする。
注意
お使いのマシンで、Visual Studio ユーザー インターフェイスの一部の要素の名前や場所が、次の手順とは異なる場合があります。 これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。 詳細については、「Visual Studio の設定」を参照してください。
必須コンポーネント
このチュートリアルを実行するには、次のコンポーネントが必要です。
-
Microsoft Office 開発者ツールを含むエディションの Visual Studio 2010。 詳細については、「[Office ソリューションを開発できるようにコンピューターを構成する](bb398242\(v=vs.100\).md)」を参照してください。
- Microsoft Office Outlook 2007 または Outlook 2010
プロジェクトの作成
Visual Studio で新しい Outlook プロジェクトを作成するには
Visual Studio を起動します。
[ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックします。
テンプレート ペインで、[Visual C#] または [Visual Basic] を展開し、[Office] を展開します。
展開した [Office] ノードの下で、[2007] ノード (Outlook 2007 がインストールされている場合) または [2010] ノード (Outlook 2010 がインストールされている場合) を選択します。
プロジェクト テンプレートの一覧で、[Outlook 2007 アドイン] または [Outlook 2010 アドイン] を選択します。
[プロジェクト名] ボックスに「FirstOutlookAddIn」と入力します。
[OK] をクリックします。
Visual Studio により FirstOutlookAddIn プロジェクトが作成され、ThisAddIn コード ファイルがエディターで開かれます。
新しいメール メッセージにテキストを追加するコードの記述
次に、ThisAddIn コード ファイルにコードを追加します。 この新しいコードでは、Outlook のオブジェクト モデルを使用して、新しいメール メッセージにテキストを追加します。 ThisAddIn コード ファイルには、次のコードが既定で含まれています。
ThisAddIn クラスの部分定義。 このクラスは、コードのエントリ ポイントを提供し、Outlook のオブジェクト モデルへのアクセスを提供します。 詳細については、「アプリケーション レベルのアドインのプログラミング」を参照してください。 ThisAddIn クラスの残りの部分は、変更することができない非表示のコード ファイルに定義されています。
ThisAddIn_Startup イベント ハンドラーおよび ThisAddIn_Shutdown イベント ハンドラー。 これらのイベント ハンドラーは、Outlook がアドインを読み込むときとアンロードするときに呼び出されます。 これらのイベント ハンドラーを使用して、読み込まれるときにはアドインを初期化し、アンロードされるときにはアドインが使用したリソースをクリーンアップします。 詳細については、「Office プロジェクトのイベント」を参照してください。
新しいメール メッセージの件名と本文にテキストを追加するには
ThisAddIn コード ファイルで、ThisAddIn クラスに inspectors というフィールドを宣言します。 inspectors フィールドは、Outlook の現在のインスタンスに含まれるインスベクター ウィンドウのコレクションへの参照を保持します。 この参照によって、NewInspector イベントのイベント ハンドラーが格納されたメモリをガベージ コレクターが解放することを防止できます。
Private WithEvents inspectors As Outlook.Inspectors
Outlook.Inspectors inspectors;
ThisAddIn_Startup メソッドを次のコードに置き換えます。 このコードは NewInspector イベントにイベント ハンドラーをアタッチします。
Private Sub ThisAddIn_Startup(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Startup inspectors = Me.Application.Inspectors End Sub
private void ThisAddIn_Startup(object sender, System.EventArgs e) { inspectors = this.Application.Inspectors; inspectors.NewInspector += new Microsoft.Office.Interop.Outlook.InspectorsEvents_NewInspectorEventHandler(Inspectors_NewInspector); }
ThisAddIn コード ファイルで、次のコードを ThisAddIn クラスに追加します。 このコードは NewInspector イベントのイベント ハンドラーを定義します。
ユーザーが新しいメール メッセージを作成すると、このイベント ハンドラーにより、メッセージの件名と本文にテキストが追加されます。
Private Sub inspectors_NewInspector(ByVal Inspector As Microsoft.Office.Interop.Outlook.Inspector) Handles inspectors.NewInspector Dim mailItem As Outlook.MailItem = CType(Inspector.CurrentItem, Outlook.MailItem) If Not (mailItem Is Nothing) Then If mailItem.EntryID Is Nothing Then mailItem.Subject = "This text was added by using code" mailItem.Body = "This text was added by using code" End If End If End Sub
void Inspectors_NewInspector(Microsoft.Office.Interop.Outlook.Inspector Inspector) { Outlook.MailItem mailItem = (Outlook.MailItem)Inspector.CurrentItem; if (mailItem != null) { if (mailItem.EntryID == null) { mailItem.Subject = "This text was added by using code"; mailItem.Body = "This text was added by using code"; } } }
新しいメール メッセージを変更するために、前のコード例では次のオブジェクトを使用しています。
ThisAddIn クラスの Application フィールド。 Application フィールドは Outlook の現在のインスタンスを表す Application オブジェクトを返します。
NewInspector イベントのイベント ハンドラーの Inspector パラメーター。 Inspector パラメーターは、新しいメール メッセージのインスペクター ウィンドウを表す Inspector オブジェクトです。 詳細については、「Outlook ソリューション」を参照してください。
プロジェクトのテスト
プロジェクトをビルドして実行し、新しいメール メッセージの件名と本文にテキストが表示されることを確認します。
プロジェクトをテストするには
F5 キーを押して、プロジェクトをビルドおよび実行します。
プロジェクトをビルドすると、コードはアセンブリにコンパイルされ、プロジェクトのビルド出力フォルダーに保存されます。 さらに Visual Studio は、Outlook がアドインを検出して読み込むようにする一連のレジストリ エントリを作成し、アドインを実行できるように開発用コンピューター上のセキュリティを設定します。 詳細については、「Office ソリューション ビルド処理の概要」を参照してください。
Outlook で、新しいメール メッセージを作成します。
メッセージの件名と本文に次のテキストが追加されることを確認します。
This text was added by using code.
Outlook を閉じます。
プロジェクトのクリーンアップ
プロジェクトの開発を完了したら、アドイン アセンブリ、レジストリ エントリ、およびセキュリティ設定を開発用コンピューターから削除します。 この操作を行わないと、開発用コンピューター上で Outlook を起動するたびにアドインが実行されます。
プロジェクトをクリーンアップするには
- Visual Studio で、[ビルド] メニューの [ソリューションのクリーン] をクリックします。
次の手順
Outlook 用の基本的なアプリケーション レベルのアドインを作成した後は、アドインの作成方法の詳細について、以下のトピックを参照してください。
Outlook のアドインを使用することによって実行可能な一般的なプログラミング タスク。 詳細については、「アプリケーション レベルのアドインのプログラミング」を参照してください。
Outlook のオブジェクト モデルの使用。 詳細については、「Outlook ソリューション」を参照してください。
Outlook の UI のカスタマイズ (リボンへのカスタム タブの追加、独自のカスタム作業ウィンドウの作成など)。 詳細については、「Office UI のカスタマイズ」を参照してください。
Outlook 用のアプリケーション レベルのアドインのビルドとデバッグ。 詳細については、「Office ソリューションのビルドとデバッグ」を参照してください。
Outlook 用のアプリケーション レベルのアドインの配置。 詳細については、「Office ソリューションの配置」を参照してください。