Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-模块/函数/VBA

使用access自动化发送的Outlook邮件

时 间:2009-08-11 12:01:11
作 者:   ID:4070  城市:杭州
摘 要:使用Access自动化发送的Outlook邮件
正 文:

可以使用 SendObject 方法在 Microsoft Access 中以编程方式发送 MAPI 邮件消息。 但是, SendObject 方法不提供完成邮件功能,如能够附加外部文件,或设置邮件重要性的访问。 下面的示例使用自动化创建并发送邮件的使用可以利用在 Microsoft Outlook 中不可用, SendObject 方法的许多功能。
有如下通过自动化,发送 Microsoft Outlook 邮件的六个主要步骤:

初始化 Outlook 会话。
创建新邮件。
将收件人添加 (到,抄送,和密件抄送),并解决它们的名称。
设置如主题、 正文和重要性的有效属性。
(如果有),请添加附件。
显示 / 发送邮件。
以编程方式发送 Microsoft Outlook 邮件
创建名为 Customers.txt 在 C: \ My 中的一个示例文本文件的文档文件夹。
启动 Microsoft Access,并打开示例数据库 Northwind.mdb。
创建一个模块,并声明部分中键入下面一行,如果它尚不存在:
Option Explicit
     
在 工具 菜单中上, 单击 引用 。
在 引用 框单击以选中 Microsoft Outlook 9.0 对象库 ,然后单击 确定 。
注意 : 如果 可用的引用 框中没有 Microsoft Outlook 9.0 对象库,浏览文件,Msoutl9.olb 的硬盘。 如果找不到此文件,您必须运行 Microsoft Outlook 安装程序在继续操作和此示例之前安装它。
在新模块中键入以下过程:
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
     
要测试此过程,在立即的窗口中键入下面一行,,然后按 ENTER 键:
SendMessage "C:\My Documents\Customers.txt"
      
不指定附件的情况下发送邮件,省略参数,如下所示调用该过程时,:
SendMessage


Access软件网官方交流QQ群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助