你目前正处于脱机状态,正在等待 Internet 重新连接

如何使用 Visual Basic 使 Outlook 自动运行

针对 Office 2003 的支持已终止

Microsoft 已于 2014 年 4 月 8 日终止了针对 Office 2003 的支持。该更改已影响到您的软件更新和安全选项。 了解这一措施对于您的含义以及如何继续保持受保护状态。

本文已归档。它按“原样”提供,并且不再更新。
概要
本文说明如何使用 Visual Basic 中的自动化技术以编程方式控制 Microsoft Outlook。该示例说明了如何使用 Microsoft Outlook 的对象模型来创建联系人、创建约会以及发送邮件。
更多信息
请按照下面的步骤来创建和运行该示例。要运行该示例,您需要一个对 Microsoft Outlook 类型库的早期绑定引用。下表列出了不同版本 Microsoft Outlook 的类型库的文件名:
Outlook 版本类型库在引用列表中的显示方式文件名
Outlook 97“Microsoft Outlook 8.0 对象库”msoutl8.olb
msoutl8.olb“Microsoft Outlook 98 对象库”msoutl85.olb
Outlook 2000“Microsoft Outlook 9.0 对象库”msoutl9.olb
Outlook 2002“Microsoft Outlook 10.0 对象库”msoutl.olb
Office Outlook 2003“Microsoft Outlook 11.0 对象库”msoutl.olb

生成自动化示例

  1. 启动 Visual Basic,创建一个新的标准 EXE 项目。
  2. 项目菜单中,选择引用,然后选择 Microsoft Outlook。
  3. 向窗体中添加一个按钮。
  4. 双击该按钮,然后添加以下代码:
     ' Start Outlook. ' If it is already running, you'll use the same instance...   Dim olApp As Outlook.Application   Set olApp = CreateObject("Outlook.Application")     ' Logon. Doesn't hurt if you are already running and logged on...   Dim olNs As Outlook.NameSpace   Set olNs = olApp.GetNamespace("MAPI")   olNs.Logon ' Create and Open a new contact.   Dim olItem As Outlook.ContactItem   Set olItem = olApp.CreateItem(olContactItem) ' Setup Contact information...   With olItem      .FullName = "James Smith"      .Birthday = "9/15/1975"      .CompanyName = "Microsoft"      .HomeTelephoneNumber = "704-555-8888"      .Email1Address = "someone@microsoft.com"      .JobTitle = "Developer"      .HomeAddress = "111 Main St." & vbCr & "Charlotte, NC 28226"   End With    ' Save Contact...   olItem.Save     ' Create a new appointment.   Dim olAppt As Outlook.AppointmentItem   Set olAppt = olApp.CreateItem(olAppointmentItem)     ' Set start time for 2-minutes from now...   olAppt.Start = Now() + (2# / 24# / 60#)     ' Setup other appointment information...   With olAppt      .Duration = 60      .Subject = "Meeting to discuss plans..."      .Body = "Meeting with " & olItem.FullName & " to discuss plans."      .Location = "Home Office"      .ReminderMinutesBeforeStart = 1      .ReminderSet = True   End With     ' Save Appointment...   olAppt.Save     ' Send a message to your new contact.   Dim olMail As Outlook.MailItem   Set olMail = olApp.CreateItem(olMailItem) ' Fill out & send message...   olMail.To = olItem.Email1Address   olMail.Subject = "About our meeting..."   olMail.Body = _        "Dear " & olItem.FirstName & ", " & vbCr & vbCr & vbTab & _        "I'll see you in 2 minutes for our meeting!" & vbCr & vbCr & _        "Btw: I've added you to my contact list."   olMail.Send     ' Clean up...   MsgBox "All done...", vbMsgBoxSetForeground   olNS.Logoff   Set olNs = Nothing   Set olMail = Nothing   Set olAppt = Nothing   Set olItem = Nothing   Set olApp = Nothing						
  5. 运行该项目,然后单击按钮以运行代码。
代码运行后,您应该拥有一个名为“James Smith”的新联系人、一个预定在两分钟后进行的约会(一分钟后显示一次提醒),并且已向 someone@microsoft.com 发送了一封邮件。而且,因为您添加了联系人的生日 (9/15),所以还会添加一个定期事件以便 Outlook 日历能够在到达该日期时提醒您。

Outlook 2002 新增了两个对话框:一个对话框警告您某个程序正在试图访问您在 Outlook 中存储的电子邮件地址,并且询问您是否允许进行此操作;另一个对话框警告您某个程序正在试图发送电子邮件。此功能可以使您防止无意中被从您的系统中发送电子邮件的病毒利用。

有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
290500开发人员需要了解的 Outlook 2002 中的电子邮件安全功能的说明
参考
有关 Outlook 编程资源的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
166368Outlook 97 中自定义窗体与编程的资源
180826 Outlook 98 中自定义窗体与编程的资源
271225 Outlook 2000 中自定义窗体与编程的资源
287531 Outlook 2002 中自定义窗体与编程的资源列表
313802 如何在 Visual Basic .NET 中使用 Outlook 对象模型检索联系人
313788 如何在 Microsoft Visual Basic .NET 中使用 Outlook 对象模型创建约会
属性

文章 ID:220595 - 上次审阅时间:12/05/2015 13:09:05 - 修订版本: 9.0

Microsoft Visual Basic 6.0 企业版, Microsoft Visual Basic 5.0 学习版, Microsoft Visual Basic 6.0 学习版, Microsoft Visual Basic 5.0 专业版, Microsoft Visual Basic 6.0 专业版, Microsoft Visual Basic 5.0 企业版, Microsoft Office Outlook 2003, Microsoft Outlook 2002 标准版, Microsoft Outlook 2000 标准版, Microsoft Outlook 97 标准版, Microsoft Outlook 98 标准版

  • kbnosurvey kbarchive kbhowto kboutlookobj kbautomation KB220595
反馈