Outlook 对象模型概述
更新:2007 年 11 月
若要开发 Microsoft Office Outlook 的外接程序,可以与 Outlook 对象模型提供的对象进行交互。Outlook 对象模型提供表示用户界面中项的类。例如,Application 类表示整个应用程序,MAPIFolder 类表示包含电子邮件或其他项的文件夹,MailItem 类表示电子邮件。
本主题简要概述了 Outlook 对象模型中的一些主类。有关 Outlook 对象模型的完整文档,请参见以下 MSDN 部分:Outlook 2007 Developer Reference(Outlook 2007 开发人员参考)和 Welcome to the Microsoft Office Outlook 2003 VBA Language Reference(欢迎使用 Microsoft Office Outlook 2003 VBA 语言参考)。
访问 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 类。通过在 ThisAddIn 类中使用关键字 Me(Visual Basic 中)或 this(C# 中),可以访问 OutlookAddIn 类的成员。ThisAddIn 类以外的代码可以使用静态 Globals.ThisAddIn 属性访问 ThisAddIn 对象。
说明: |
---|
若要帮助避免在使用 Outlook 对象模型保护所阻止的属性和方法时出现安全警告,请从 ThisAddIn 对象中获取 Outlook 对象。有关更多信息,请参见 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。
使用特定项(如 MailItem 或 AppointmentItem)的 GetInspector 方法检索与其关联的 Inspector。
MAPIFolder 类
MAPIFolder 类表示包含电子邮件、联系人、任务及其他项的文件夹。Outlook 提供 16 个默认 MAPIFolder 对象。
默认 MAPIFolder 对象由 OlDefaultFolders 枚举值定义。例如,
T:Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox 与 Outlook 中的“收件箱”文件夹相对应。
有关演示如何访问默认 MAPIFolder 和创建新 MAPIFolder 的示例,请参见 如何:创建自定义文件夹项。
MailItem 类
MailItem 类表示电子邮件。MailItem 对象通常在“收件箱”、“已发送邮件”和“发件箱”等文件夹中。MailItem 公开可用于创建和发送电子邮件的属性和方法。
有关演示如何创建电子邮件的示例,请参见 如何:创建电子邮件项。
AppointmentItem 类
AppointmentItem 类表示“日历”文件夹中的会议、一次性约会,或定期约会或会议。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 的开发人员而言,每组文档都有优缺点。
主互操作程序集参考
此文档描述 Outlook 主互操作程序集中所有可用于 Visual Studio Tools for Office 项目中的类型:
它描述了 Outlook 2007 主互操作程序集中的类型。因此,如果正在开发 Outlook 2003 外接程序,则将无法使用此文档中出现的某些类和成员。有关对 Outlook 2003 可用的类型和成员的描述,请参考 Microsoft Office Outlook 2003 VBA 语言参考。
该文档目前未提供任何代码示例。
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 窗体