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

文章翻译 文章翻译
文章编号: 220595 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

概要

本文说明如何使用 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 知识库中相应的文章:
166368 Outlook 97 中自定义窗体与编程的资源
180826 Outlook 98 中自定义窗体与编程的资源
271225 Outlook 2000 中自定义窗体与编程的资源
287531 Outlook 2002 中自定义窗体与编程的资源列表
313802 如何在 Visual Basic .NET 中使用 Outlook 对象模型检索联系人
313788 如何在 Microsoft Visual Basic .NET 中使用 Outlook 对象模型创建约会

属性

文章编号: 220595 - 最后修改: 2005年12月23日 - 修订: 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 标准版
关键字:?
kbhowto kboutlookobj kbautomation KB220595
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com