版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本文主要介绍如何通过宏(vba)在邮件合并中添加附件。关于邮件合并的基本使用方法,将不进行介绍。 Word的邮件合并是一个很强大、很实用的功能,但是美中不足的是,无法在邮件合并中添加附件,并把附件作为邮件的一部分发送出去(虽然可以通过把整个文档包括附件作为邮件的附件发送出去,但是这样子并不完美解决问题)。为了实现这样的功能,需要借助到宏的帮助。准备工作: 首先用Word建立一个“目录”类型的邮件合并,在主文档中插入一个只有一行的表格,列数根据需要设置,但在我们现在的这个文档中,至少需要两列,第一列存放客人邮箱地址的合并域,第二列存放附件的完整路径的合并域,包括附件的名称
2、与后缀。如果你需要添加多于一个附件,就增加第三列,并把新的附件的路径的合并域放进去。完成以后,实行邮件合并,生成一个包含了所有客人邮箱地址和需要发送给每个客人的附件的路径的Word文档。为该文档建一个你喜欢的名字,并保存在电脑上。这样子,准备工作完成了。 合并前的邮件列表主文档: 合并后的邮件列表: 建立宏并完成邮件发送: &
3、#160; 运行本文所介绍的宏,需要电脑中安装有Outlook(建议安装Outlook 2007或者以上版本)。在开始写宏程序之前,需要在vba编辑器中添加对Outlook的引用。具体步骤是:在需要建立邮件合并的Word主文档中按Alt+F11打开vba编辑器,然后在“工具”菜单中选择“引用”,并添加类似于“Microsoft Outlook #.0 Object Library”的引用,其中“#”是Outlook的版本号(如果我没有记错的话,2003是11.0,2007是12.0,2010是14.0好像微软觉得13.0不吉利,把13这个版本号给华丽的忽略掉了)。 &
4、#160; 然后,插入一个模块,并把下面的代码复制进去: 代码:Sub eMailMergeWithAttachments() Dim docSource As Document, docMaillist As Document, docTempDoc As Document Dim rngDatarange As Range Dim i As Long, j As Long Dim lSectionsCount As Long Dim bStarte
5、d As Boolean Dim oOutlookApp As Outlook.Application Dim oItem As Outlook.MailItem Dim oAccount As Outlook.Account Dim sMySubject As String, sMessage As String, sTitle As String '将当前文档设置为源文档(主文档) Set docSource = ActiveD
6、ocument '检查Outlook是不是打开了。如果未打开的话,就打开新的Outlook On Error Resume Next Set oOutlookApp = GetObject(, "Outlook.Application") If Err <> 0 Then Set oOutlookApp = CreateObject("Outlook.Applicati
7、on") bStarted = True End If '打开保存有客人的邮件地址和需要发送的附件的路径的word文档。 With Dialogs(wdDialogFileOpen) .Show End With '将该文档设置为客户邮件(附件)列表文档 Set doc
8、Maillist = ActiveDocument '设置发送邮件的账户(账户必须已经在Outlook中设置好了) '注意:如果你的Outlook版本低于2007,使用设置发送邮件的账户可能会导致错误, '建议将下面的Set oAccount = oOutlookApp.Session.Accounts.Item("someone")语句删除 Set oAccount = oOutlookApp.Session.Accounts.Item(&quo
9、t;someone") '显示一个输入框,询问并让用户输入邮件主题 sMessage = "请为要发送的邮件输入邮件主题。" sTitle = "输入邮件主题" sMySubject = InputBox(sMessage, sTitle) '循环查找源文档中所有的节(每一节为一封邮件内容),以及循环查找邮件列表文档中所有的客户信息, '以便用于插入到生成的邮件中
10、160; lSectionsCount = docSource.Sections.Count - 1 '当源文档中的节数仅有1时,lSectionsCount=0,将导致程序无法正常运行。 '为了保证当源文档只有1节时程序能正常运行,必须使lSectionsCount至少等于1 If lSectionsCount = 0 Then lSectionsCount = 1 For j = 1 To lSectionsCount
11、 Set oItem = oOutlookApp.CreateItem(olMailItem) With oItem '注意:如果你的Outlook版本低于2007,使用设置发送邮件的账户可能会导致错误, '建议将下面的.SendUsingAccount = oAccou
12、nt语句删除 .SendUsingAccount = oAccount .Subject = sMySubject .Body = docSource.Sections(j).Range.Text
13、60;Set rngDatarange = docMaillist.Tables(1).Cell(j, 1).Range rngDatarange.End = rngDatarange.End - 1 .To = rngDatarange For i = 2 To docMaillist.Ta
14、bles(1).Columns.Count Set rngDatarange = docMaillist.Tables(1).Cell(j, i).Range rngDatarange.End = rngDatarange.End - 1
15、; .Attachments.Add Trim(rngDatarange.Text), olByValue, 1 Next i .Send End With Set oItem = Nothing
16、 Next j docMaillist.Close wdDoNotSaveChanges '如果Outlook是由该宏打开的,则关闭Outlook If bStarted Then oOutlookApp.Quit End If MsgBox "共发送了 " & lSectionsCount & " 封邮件。" '清空Outlook实例 Set oOutlookApp = NothingEnd Sub到这里,基本上已经完成大部分的工作了。 现在,实行邮件合并,生成包含需要发给所有客人的邮件的Word文档。然后运行刚刚完成的宏,就可以了。 有一点需要特别注意的是:用于生成客人邮箱地址和附件列表的邮件合并的数据源,和用于生成邮件本身的邮件合并的数据源,最好是相同的,否则有可能导致把错误的附件发送给错误的客人的情况。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030新型混凝土强度提升材料制备技术与工程质量标准
- 2025-2030新型智能农业机器人行业供需动态分析及远景投资评估规划研究
- 2025-2030新型显示技术路线竞争与市场格局演变报告
- 2025-2030新型显示技术产业发展分析及技术发展趋势与投资布局策略研究方案
- 2025-2030新型建筑材料研发行业市场前景研究及环保性能与政策推动方案
- 2025-2030新型建材环保水泥行业市场需求及技术改进投资评估研究报告
- 2026江苏连云港市灌云万邦人力资源有限公司招聘10人备考题库含答案详解(b卷)
- 2026江西南昌富昌石油燃气有限公司招聘1人备考题库含答案详解(突破训练)
- 2026福建新华发行(集团)有限责任公司永安分公司招聘备考题库含答案详解(综合题)
- 2026江西赣州市章贡区供销合作社联合社招聘高校毕业见习生1人备考题库含答案详解(综合卷)
- 2026年英语首考浙江试卷及答案
- 第二章第二节中国的气候(第二课时)教学设计- 2025八年级地理上册湘教版
- 回收反向开票课件
- 公安系统心理减压课件
- 脾胃病科知识培训课件
- 2026年陕西机电职业技术学院单招职业技能测试题库新版
- 2026年演出经纪人考试题库500道新版
- 2025年下半年宝山区国有企业员工招聘笔试参考题库附答案解析
- 肺癌病人术后疼痛护理
- 液压系统安全培训教学课件
- 幽门螺杆菌课件
评论
0/150
提交评论