次の方法で共有


Outlook オブジェクト モデルの概要

更新 : 2007 年 11 月

Microsoft Office Outlook 向けのアドインの開発は、Outlook オブジェクト モデルに用意されているオブジェクトを操作して行います。Outlook オブジェクト モデルには、ユーザー インターフェイスにおけるアイテムを表すクラスが用意されています。たとえば、Application クラスはアプリケーション全体を表し、MAPIFolder クラスは電子メール メッセージやその他のアイテムを格納するフォルダを表し、MailItem クラスは電子メール メッセージを表します。

このトピックでは、Outlook オブジェクト モデルのメイン クラスの一部を簡単に説明します。Outlook オブジェクト モデルの詳細については、MSDN の「Outlook 2007 Developer Reference」および「Welcome to the Microsoft Office Outlook 2003 VBA Language Reference」を参照してください。

Outlook プロジェクトのオブジェクトへのアクセス

Outlook には、操作できる数多くのクラスが用意されています。オブジェクト モデルを有効に利用するためには、次に示すトップレベルのクラスについて理解している必要があります。

Application クラス

Application クラスは、Outlook アプリケーションを表し、Outlook オブジェクト モデルにおける最上位のクラスです。このクラスの最も重要なメンバには、次のようなものがあります。

  • CreateItem メソッド。電子メール メッセージ、タスク、予定などの新しいアイテムを作成するために使用します。

  • Explorers プロパティ。Outlook のユーザー インターフェイス (UI) 内のフォルダの内容を表示するウィンドウにアクセスするために使用します。

  • Inspectors プロパティ。電子メール メッセージや会議出席依頼など、単一のアイテムの内容を表示するウィンドウにアクセスするために使用します。

Application クラスのインスタンスを取得するには、ThisAddin クラスの Application プロパティを使用します。

ThisAddIn クラス

新しい Outlook アドイン プロジェクトを作成すると、Visual Studio Tools for Office によってプロジェクト内に ThisAddIn.vb または ThisAddIn.cs というコード ファイルが自動的に作成されます。このコード ファイルには、OutlookAddIn から派生した ThisAddin クラスが定義されています。OutlookAddIn クラスのメンバにアクセスするには、ThisAddIn クラスで Me キーワード (Visual Basic の場合) または this キーワード (C# の場合) を使用します。ThisAddIn クラスの外側にあるコードは、静的プロパティ Globals.ThisAddIn を使用して ThisAddIn オブジェクトにアクセスできます。

ms268893.alert_note(ja-jp,VS.90).gifメモ :

Outlook オブジェクト モデル ガードによってブロックされたプロパティやメソッドを使用するときにセキュリティ警告が表示されないようにするには、Outlook オブジェクトを ThisAddIn オブジェクトから取得します。詳細については、「Office ソリューションに固有のセキュリティに関する考慮事項」を参照してください。

Explorer クラス

Explorer クラスは、電子メール メッセージ、タスク、予定などのアイテムを格納するフォルダの内容を表示するウィンドウを表します。Explorer クラスには、このウィンドウを変更するために使用できるメソッドとプロパティ、さらにはウィンドウが変更されたときに発生するイベントが含まれます。

Explorer オブジェクトを取得するには、次のいずれかの操作を実行します。

  • Application クラスの Explorers プロパティを使用して、Outlook 内のすべての Explorer オブジェクトにアクセスします。

  • Application クラスの ActiveExplorer メソッドを使用して、現在フォーカスが設定されている Explorer を取得します。

  • MAPIFolder クラスの GetExplorer メソッドを使用して、現在のフォルダの Explorer を取得します。

Inspector クラス

Inspector クラスは、電子メール メッセージ、タスク、予定などの単一のアイテムを表示するウィンドウを表します。Inspector クラスには、このウィンドウを変更するために使用できるメソッドとプロパティ、さらにはウィンドウが変更されたときに発生するイベントが含まれます。

Inspector オブジェクトを取得するには、次のいずれかの操作を実行します。

  • Application クラスの Inspectors プロパティを使用して、Outlook 内のすべての Inspector オブジェクトにアクセスします。

  • Application クラスの ActiveInspector メソッドを使用して、現在フォーカスが設定されている Inspector を取得します。

  • MailItemAppointmentItem など、特定のアイテムの GetInspector メソッドを使用して、そのアイテムに関連付けられたインスペクタを取得します。

MAPIFolder クラス

MAPIFolder クラスは、電子メール メッセージ、連絡先、タスクなどのアイテムを格納するフォルダを表します。Outlook には、16 の既定の MAPIFolder オブジェクトが用意されています。

既定の MAPIFolder オブジェクトは、OlDefaultFolders 列挙値によって定義されています。この例を次に示します。

T:Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox は、Outlook の [受信トレイ] フォルダに対応します。

既定の MAPIFolder にアクセスし、新しい MAPIFolder を作成する方法の例については、「方法 : カスタム フォルダのアイテムを作成する」を参照してください。

MailItem クラス

MailItem クラスは、電子メール メッセージを表します。MailItem オブジェクトは、通常、[受信トレイ][送信済みアイテム][送信トレイ] などのフォルダ内にあります。MailItem は、電子メール メッセージを作成して送信するために使用するプロパティとメソッドを公開します。

電子メール メッセージの作成方法の例については、「方法 : 電子メール アイテムを作成する」を参照してください。

AppointmentItem クラス

AppointmentItem クラスは、[予定表] フォルダ内の会議、定期的な予定、または 1 回だけの予定を表します。AppointmentItem クラスには、会議出席依頼の応答または転送などのアクションを実行するメソッド、および会議の詳細 (場所や時間など) を指定するプロパティが含まれています。

予定を作成する方法の例については、「方法 : 会議出席依頼を作成する」を参照してください。

TaskItem クラス

TaskItem クラスは、指定したタイム フレームに実行されるタスクを表します。TaskItem オブジェクトは、[仕事] フォルダに格納されます。

タスクを作成するには、Application クラスの CreateItem メソッドを使用し、パラメータの olTaskItem 値を渡します。

ContactItem クラス

ContactItemクラスは、[連絡先] フォルダ内の連絡先を表します。ContactItem オブジェクトには、このオブジェクトが表す人に関するさまざまな連絡先情報 (住所、電子メール アドレス、電話番号など) が格納されます。

新しい連絡先を作成する方法の例については、「方法 : Outlook の連絡先にエントリを追加する」を参照してください。既存の連絡先を検索する方法の例については、「方法 : 特定の連絡先を検索する」を参照してください。

Outlook オブジェクト モデル ドキュメントの使用

Outlook オブジェクト モデルで使用できるクラスの詳細については、以下のドキュメントを参照してください。

最初のリンク先では、Outlook のプライマリ相互運用機能アセンブリのクラスやインターフェイスに関する情報を提供しています。その他のリンク先では、Visual Basic for Applications (VBA) コードに公開される Outlook オブジェクト モデルに関する情報を提供しています。Visual Studio Tools for Office を使用している開発者にとって、各資料には一長一短があります。

プライマリ相互運用機能アセンブリのリファレンス

この資料には、Visual Studio Tools for Office プロジェクトで使用できる、Outlook のプライマリ相互運用機能アセンブリにあるすべての型についての説明が記載されています。

  • 説明で取り上げられているのは、Outlook 2007 のプライマリ相互運用機能アセンブリの型です。したがって、Outlook 2003 アドインを開発している場合は、この資料に記載されている一部のクラスとメンバを使用できません。Outlook 2003 で使用できる型とメンバの説明については、「Microsoft Office Outlook 2003 VBA Language Reference」を参照してください。

  • 現時点では、コード例は提供されていません。

VBA リファレンス

VBA リファレンス内のオブジェクトとメンバはすべて、Visual Studio Tools for Office プロジェクトで使用するプライマリ相互運用機能アセンブリのクラスとメンバに対応します。たとえば、Outlook VBA ドキュメントに記載されている Inspector オブジェクトは、プライマリ相互運用機能アセンブリの Microsoft.Office.Interop.Outlook.Inspector クラスに相当します。

VBA リファレンスには、次のようなメリットがあります。

  • ほとんどのメンバについてコード例が記載されています。

VBA リファレンスのデメリットは以下のとおりです。

  • 提供されている構文とコード例は、VBA に関するものだけです。紹介されているコード例を Visual Studio Tools for Office プロジェクトで使用するには、VBA コードを Visual Basic または Visual C# に変換しなければなりません。

プライマリ相互運用機能アセンブリの追加の型

プライマリ相互運用機能アセンブリには、VBA では利用できない型が多数あります。そうした追加の型は、Outlook の COM ベースのオブジェクト モデルに含まれるオブジェクトをマネージ コードに変換する場合に役立ちますが、コード内で直接使用することを目的としたものではありません。

詳細については、「Outlook PIA のアーキテクチャ」を参照してください。

参照

処理手順

方法 : Outlook ソリューションに Windows フォームを追加する

方法 : Outlook にカスタム メニューとメニュー項目を追加する

方法 : Outlook にカスタムのツール バーとツール バー アイテムを追加する

方法 : カスタム アイコンをツール バーおよびメニュー項目に追加する

方法 : Outlook セッション間でカスタム ツール バーの位置情報を維持する

方法 : アイテムのカスタム フィールドからデータを読み込む

方法 : 未保存のアイテムの親フォルダを決定する

方法 : 現在の Outlook のアイテムを確認する

概念

Office ソリューションに固有のセキュリティに関する考慮事項

Office ソリューションの開発の概要

連絡先アイテムの操作

メール アイテムの操作

フォルダの操作

予定表アイテムの操作