若要发送 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 中创建新的联系人项
OutSol OutSol97 OutSol98

警告:本文已自动翻译

属性

文章 ID:161088 - 上次审阅时间:12/04/2015 15:55:48 - 修订版本: 3.3

Microsoft Access 97 标准版

  • kbnosurvey kbarchive kbmt kbhowto kbinterop KB161088 KbMtzh
反馈