




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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届高三第二学期4月模拟考试生物试题含解析
- 商场员工临时合同协议
- 新疆乌鲁木齐市第八十七中学2025届初三教学质量检测试题(三模)数学试题试卷含解析
- 新乡职业技术学院《心理统计学》2023-2024学年第一学期期末试卷
- 2025-2030年中国P2P信贷行业发展状况分析及投资前景趋势预测研究报告
- 甘肃省平凉市崇信县2024届中考数学模拟试卷含解析
- 甘肃临夏和政县2023-2024学年中考一模数学试题含解析
- 2025至2031年中国硝酸咪康唑行业投资前景及策略咨询研究报告
- 2025年新入职工入职安全培训考试试题附参考答案(综合题)
- 2025-2030年中国MS市场运行新形势与投资前景报告
- 云南省烟草专卖局(公司)2025年上半年高校毕业生招聘(第二批)易考易错模拟试题(共500题)试卷后附参考答案
- 陕西、山西省天一大联考2024-2025学年高中毕业班阶段性测试(七)英语试题及答案
- 工作室股东合同协议
- 关于市中小学“校园餐”突出问题专项整治情况的报告
- SZDB-Z 173-2016 物业绿化养护管理规范
- 艺考全真乐理试题及答案
- 摄影人像知识篇课件
- 急救知识培训课件下载
- 酒店培训技巧
- 锅炉安装安全管理制度
- 液压安全知识培训课件
评论
0/150
提交评论