如何使用 Access 2000来自动化发送 Microsoft Outlook 邮件

这篇文章的 Microsoft Access 97 版本,请参见
161088

高级 ︰ 需要高级编程、 互操作性和多用户技能。

本文适用于 Microsoft Access 数据库 (.mdb) 和 Microsoft Access 项目 (.adp)。

在此任务

概要

这篇文章演示了如何使用自动化来创建和发送在 Microsoft Access 2000 中的 Microsoft Outlook 邮件。


Microsoft 提供的编程示例仅用于说明,没有任何明示或暗示的担保。这包括但不限于适销性或特定用途适用性的暗示担保。本文假定您熟悉所演示的编程语言和用于创建和调试过程的工具。Microsoft 的支持工程师可以帮助解释某个特定过程的功能,但是他们不会修改这些示例以提供额外的功能或构建过程以满足您的特定要求。
注意:如果您已经安装了 Outlook 电子邮件安全更新,下面的代码可能无法正常工作。有关此更新的其他信息,请参阅 Microsoft 知识库中的文章,具体取决于哪个版本的 Outlook 中,您将拥有以下文章之一:

262631 OL2000: Outlook 电子邮件安全更新信息

262617 OL98: Outlook 电子邮件安全更新信息
SendObject方法可用于在 Microsoft Access 中以编程方式发送 MAPI 邮件消息。但是, SendObject方法不允许您访问完成邮件功能,如附加外部文件或设置邮件重要性的能力。下面的示例使用自动化创建和发送电子邮件,您可以使用 Microsoft Outlook 中使用SendObject方法未提供的众多功能中的利用。

有六个主要步骤发送,如下所示使用自动化功能,Microsoft Outlook 电子邮件:

  1. 初始化的 Outlook 会话。

  2. 创建一封新邮件。

  3. 添加收件人 (收件人、 抄送人及密件抄送人) 和解决它们的名称。

  4. 设置有效的属性,如主题、 正文和重要性。

  5. (如果有的话) 中添加附件。

  6. 显示/发送该邮件。

以编程方式发送 Microsoft Outlook 电子邮件

  1. 创建一个名为 C:\My Documents 文件夹中的 Customers.txt 的示例文本文件。

  2. 启动 Access,然后打开示例数据库 Northwind.mdb。

  3. 创建一个模块,如果还没有的话,在声明部分中键入下面一行:

    Option Explicit
  4. 在工具菜单上单击引用。

  5. 在引用框中,单击以选中Microsoft Outlook 9.0 对象库,然后单击确定。

    注意: 如果 Microsoft Outlook 9.0 对象库不会出现在可用的引用框中,浏览硬盘上的文件,Msoutl9.olb。如果找不到此文件,则必须运行 Microsoft Outlook 安装程序来安装它,然后继续本示例。

  6. 在新模块中键入以下过程:

    Sub SendMessage(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("Andrew Fuller")
    objOutlookRecip.Type = olCC

    ' Set the Subject, Body, and Importance of the message.
    .Subject = "This is an Automation test with Microsoft Outlook"
    .Body = "Last test - I promise." & 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
    If Not objOutlookRecip.Resolve Then
    objOutlookMsg.Display
    End If
    Next
    .Send

    End With
    Set objOutlookMsg = Nothing
    Set objOutlook = Nothing
    End Sub
  7. 若要测试此过程,请在立即窗口中键入下面一行,然后按 enter 键:

    SendMessage "C:\My Documents\Customers.txt"

    若要发送消息时未指定附件,省略参数,如下所示调用该过程,当:

    SendMessage




参考资料

有关使用自动化功能,在 Microsoft Access 中,在 Visual Basic 编辑器中,单击帮助菜单上的 Microsoft Visual Basic 帮助,在 Office 助手或应答向导中,键入"自动化"然后单击搜索以查看相关主题。

209963 ACC2000: 如何使用自动化功能添加到 Microsoft Outlook 约会

209955 ACC2000: 如何使用自动化在 Microsoft Outlook 中创建新的联系人项










需要更多帮助?

扩展你的技能
了解培训
抢先获得新功能
加入 Microsoft 内部人员

此信息是否有帮助?

你对翻译质量的满意程度如何?

哪些因素影响了你的体验?

是否还有其他反馈?(可选)

谢谢您的反馈意见!

×