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 对象,请执行以下操作:

Inspector 类

Inspector 类表示一个显示单个项(如电子邮件、任务或约会)的窗口。Inspector 类包括可用来修改窗口的方法和属性,以及窗口更改时所引发的事件。

若要获取 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 窗体

如何:向 Outlook 添加自定义菜单和菜单项

如何:向 Outlook 添加自定义工具栏和工具栏项

如何:向工具栏和菜单项添加自定义图标

如何:维护 Outlook 会话之间自定义工具栏的位置信息

如何:从项的自定义字段中读取数据

如何:确定未保存项的父文件夹

如何:确定当前的 Outlook 项

概念

Office 解决方案的特定安全注意事项

Office 解决方案开发概述

使用联系人项

使用邮件项

使用文件夹

使用日历项