若要发送 Outlook 邮件中使用自动化

文章翻译 文章翻译
文章编号: 161088 - 查看本文应用于的产品
高级: 需要专家编码、 互操作性,和多用户技能。

展开全部 | 关闭全部

概要

本文介绍如何使用自动化创建并发送在 Microsoft Access 97 中的 Microsoft Outlook 邮件。

本文假定您熟悉 Visual Basic 应用程序的使用和创建 Access 应用程序使用提供的 Microsoft Access 的编程工具。有关 Visual Basic 应用程序的详细信息,请参阅使用 Microsoft Access 97 建立应用程序"手动。

有关发送 Microsoft Exchange 邮件使用自动化功能的详细信息请参阅 Microsoft 知识库中下面的文章:
153311使用自动化来发送一个 Microsoft Exchange 消息

更多信息

注: 如果您已经安装了 Outlook 电子邮件安全更新,下面的代码可能无法正常工作。 有关此更新的其他信息,请参阅 Microsoft 知识库中,具体取决于哪一个版本的 Outlook,您有以下文章之一:
262631OL2000: Outlook 电子邮件安全更新信息
262617有关 Outlook 电子邮件安全更新的 OL98: 信息
SendObject 方法提供了在 Microsoft Access 以编程方式发送一条 MAPI 邮件消息的方法。然而,在 SendObject 方法并不赋予您访问完成如能够附加外部文件或设置邮件重要性的邮件功能。下面的示例创建并发送一封邮件,您可以使用以利用 Microsoft Outlook 中的许多功能不可用与 SendObject 方法的使用自动化。

当您使用自动化功能来发送 Microsoft Outlook 电子邮件时,有六个主要步骤:

  • 初始化 Outlook 会话
  • 创建一封新邮件
  • 添加收件人 (到,,和密件抄送) 并解决它们的名称
  • 设置等主题、 正文,和重要性的有效属性
  • 添加附件 (如果有的话)
  • 显示/发送消息
若要以编程方式发送 Microsoft Outlook 电子邮件,请按照下列步骤操作:

  1. 创建一个名为 Customers.txt C:\My 文档中的示例文本文件文件夹。
  2. 启动 Access 并打开示例数据库 Northwind.mdb。
  3. 创建一个模块并键入以下行中,声明部分,如果它已不存在,请执行以下操作:
    显式的选项
  4. 在工具菜单上单击引用。
  5. 在引用框中单击 Microsoft Outlook 8.0 对象模型,然后单击确定。

    注: 如果在 Microsoft Outlook 8.0 对象模型不出现在可用引用框中,浏览您的硬盘文件 Msoutl8.olb。如果找此文件必须运行 Microsoft Outlook 安装程序将在此示例继续操作之前对其进行安装。
  6. 在新模块中键入以下过程:
          Sub SendMessage(DisplayMsg As Boolean, Optional AttachmentPath)
              Dim objOutlook As Outlook.Application
              Dim objOutlookMsg As Outlook.MailItem
              Dim objOutlookRecip As Outlook.Recipient
              Dim objOutlookAttach As Outlook.Attachment
    
              ' Create the Outlook session.
              Set objOutlook = CreateObject("Outlook.Application")
    
              ' Create the message.
              Set objOutlookMsg  = objOutlook.CreateItem(olMailItem)
    
              With objOutlookMsg
                  ' Add the To recipient(s) to the message.
                  Set objOutlookRecip = .Recipients.Add("Nancy Davolio")
                  objOutlookRecip.Type = olTo
    
                  ' Add the CC recipient(s) to the message.
                  Set objOutlookRecip = .Recipients.Add("Michael Suyama")
                  objOutlookRecip.Type = olCC
    
                 ' Add the BCC recipient(s) to the message.
                  Set objOutlookRecip = .Recipients.Add("Andrew Fuller")
                  objOutlookRecip.Type = olBCC
    
                 ' Set the Subject, Body, and Importance of the message.
                 .Subject = "This is an Automation test with Microsoft Outlook"
                 .Body = "This is the body of the message." &vbCrLf & vbCrLf
                 .Importance = olImportanceHigh  'High importance
    
                 ' Add attachments to the message.
                 If Not IsMissing(AttachmentPath) Then
                     Set objOutlookAttach = .Attachments.Add(AttachmentPath)
                 End If
    
                 ' Resolve each Recipient's name.
                 For Each ObjOutlookRecip In .Recipients
                     objOutlookRecip.Resolve
                 Next
    
                 ' Should we display the message before sending?
                 If DisplayMsg Then
                     .Display
                 Else
                     .Save
                     .Send
                 End If
              End With
              Set objOutlook = Nothing
          End Sub
    						
  7. 若要测试此过程在调试窗口中键入下面一行,然后按 ENTER 键。
    SendMessage True、"C:\My Documents\Customers.txt"
    请注意新的邮件显示在 Outlook 中带有附件。

    若要发送该邮件,而不显示它在 Outlook 中,调用该过程使用 False 值,对于第一个参数:
    SendMessage False、"C:\My Documents\Customers.txt"
    若要发送邮件而不指定附件,则调用该过程时忽略第二个参数。
    SendMessage True

参考

有关在 Access 中使用自动化功能的详细信息对于 自动化,搜索帮助索引,或请求 Microsoft Access 97 Office 助手。

有关控制 Outlook 使用自动化功能的详细信息请参阅 Microsoft 知识库中下面的文章:
160502ACC: 要将约会添加到 Microsoft Outlook 使用自动化

161012VBA: 如何在利用自动化功能的 Outlook 中创建新的联系人项

属性

文章编号: 161088 - 最后修改: 2007年1月19日 - 修订: 3.3
这篇文章中的信息适用于:
  • Microsoft Access 97 标准版
关键字:?
kbmt kbhowto kbinterop KB161088 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 161088
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。
不再更新的 KB 内容免责声明
本文介绍那些 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