ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 11673|回复: 1

[原创] outlook vba实现word邮件合并带附件发送电子邮件

[复制链接]

TA的精华主题

TA的得分主题

发表于 2012-9-21 10:10 | 显示全部楼层 |阅读模式
本帖最后由 tth0561 于 2012-9-21 13:32 编辑

本方法使用microsoft outlook vba来实现word邮件合并带附件群发,在microsoft office 2003,microsoft office 2010上测试通过.

建立excel文件e:\list.xls,存放收件人地址和对应附件的存放路径

格式如下

1  name      email                attachment
2  name1     name1@qq.com         e:\name1.dat
3  name2     name2@qq.com         e:\name2.dat   

打开microsoft outlook,配置好电子邮件,按Alt+F11打开Visual Basic编辑器,
1.工具->引用->Microsoft ActiveX Data Objects 2.0 Library,(设置宏安全性为中)
2.在Project1->Microsoft Office Outlook 对象-> ThisOutlookSession中输入一下代码


Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)

    Dim cnn As New ADODB.Connection
    Dim rs As ADODB.Recordset

    lianjie = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='Excel 8.0;hdr=yes;';Data Source=c:\temp\test\test.xls"

    cnn.Open lianjie

    st = "select attachment from [sheet1$] where email='" & Item.To & "'"
   
    Set rs = cnn.Execute(st)
   
    If Not (IsNull(rs("attachment"))) Then
   
          Item.Attachments.Add (rs("attachment"))
      
    End If
      
    rs.Close

    cnn.Close

End Sub

建立一个word文件,输入邮件的内容。
在工具栏上点击鼠标右键选择“邮件合并”,在出现的邮件合并工具栏上
选择打开数据源,打开e:\list.xls,根据需要可插入需要的域到邮件内容中.
点击邮件合并工具栏上的“合并到电子邮件”,收件人设为"email",发送即可,再打开microsoft outlook时,发件箱内就是生成的新邮件了.


问题:
1.如果发送的邮件比较多,要求机器性能要好,否则处理起来很慢.
2.可以看到我在outlook vba中使用了数据库连接来访问了list.xls来得到附件的存放路径,
本来我想让该地址从word中直接传进来,outlook vba直接获得该附件地址再加入到邮件中,就不需要再次查询list.xls,但是没查找到相关的资料.
能否有办法将该附件地址通过word中的某种隐藏变量(不知word宏能否实现)传入outlook,再用outlook vba来读取该地址那就比较完美了.
请高手指点一下,能否解决该问题
.

TA的精华主题

TA的得分主题

发表于 2012-10-11 12:42 | 显示全部楼层
太高级了,不会,帮顶,坐等高手指教
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-20 22:15 , Processed in 0.024072 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表