通过 Visual Basic 应用程序使 Outlook 自动化

   

因为 Microsoft Outlook 支持自动化,所以可以从任何用 Microsoft Visual Basic 编写的程序控制 Outlook。自动化为一个应用程序访问支持自动化的另一个应用程序的对象、方法、属性和事件提供了标准方法。

Outlook 对象模型提供了管理 Outlook 文件夹中存储的数据所需的所有功能,还提供了控制 Outlook 用户界面外观的功能。

若要启动 Outlook 自动化会话,可以用早绑定或晚绑定。晚绑定使用 GetObjectCreateObject 函数初始化 Outlook。例如,以下代码将对象变量设置为 Outlook Application 对象,该对象为 Outlook 对象模型中的最高层对象。所有自动化代码都必须首先定义 Outlook Application 对象,才能够访问其他 Outlook 对象。

Dim objOL as Object
Set objOL = CreateObject("Outlook.Application")

若要使用早绑定,首先要设置到 Outlook 对象库的引用。然后就可用以下语法启动 Outlook 会话。

Dim objOL as Outlook.Application
Set objOL = New Outlook.Application

大部分编程解决方案都与 Outlook 中存储的数据进行交互。Outlook 在邮件应用程序编程接口 (MAPI) 文件夹中存储其全部信息。在将对象变量设置为 Outlook Application 对象后,通常要设置一个 Namespace 对象来引用 MAPI,如以下示例所示。

Set objOL = New Outlook.Application
Set objNS = objOL.GetNameSpace("MAPI")
Set objFolder = objNS.GetDefaultFolder(olFolderContacts)

将对象变量设置为引用包括要使用的项目的文件夹后,就可以用适当的代码完成任务,如以下示例所示。

Sub CreateNewDefaultOutlookTask()
    Dim objOLApp As Outlook.Application
    Dim NewTask As Outlook.TaskItem
    ' Set the Application object
    Set objOLApp = New Outlook.Application
    ' You can only use CreateItem for default items
    Set NewTask = objOLApp.CreateItem(olTaskItem)
    ' Display the new task form so the user can fill it out
    NewTask.Display
End Sub