每到年底的时候,很多公司都可能为所有员工准备了一封信,内容包括绩效评估结果,调薪比例,最新工资等;
这些批量发送的过程如果手动挨个进行邮件附件的插入,内容的书写,势必会非常消耗时间,如果时间紧迫,还可能被迫要加班。。。
解决思路
遇到批量操作,首先想到的一般都是用宏的方法来操作,本案例分享代码及修改操作,不熟悉的小伙伴可以照着以下方法拿去即用。
步骤操作
邮件合并的步骤相信很多人都不会陌生,先来准备好需要的word文档,比如录用通知书,空出后期所有需要填写文字的部分,如:
然后通过邮件合并的方式将Word与Excel进行链接,在Word中将Excel里的相应字段插入到需要填写的部分(这部分内容的步骤省略,不会的小伙伴可以去我的《Excel从起步到起飞》中找到学习内容):
在Word文档中,利用Alt+F11调出代码框,将已经准备好的代码复制粘贴到其中:(继续往后看,后面有具体修改的讲解)
这个代码包含了两部分的内容,第一是批量将Word文档以Excel中的姓名字段为名称保存为单个的word文档;第二个是批量将这些单个的Word文档转换为PDF的文件进行保存。
在Excel文档中,同样利用快捷键ALT+F11调出代码窗口,双击左侧的Thisworkbook,将代码复制粘贴至其中,如:
■ 文件位置
这个案例我是放在桌面上的,桌面上建立了一个文件夹,如:
word文档放在这里了,新建了一个pdf的文件夹,后面生成的PDF文档都会放置在PDF的文件夹中,Excel的文件我也放置在PDF文件夹中了,如:
因为每个人的电脑的用户名都不一样,所有这些文件如果在你自己的电脑中,你需要对文件的位置在代码中进行修改,word文档中的代码:
红色框中标注的位置,也就是:C:\Users\demon\Desktop\批量转PDF文件并发送邮件
第二段代码中涉及到文件的位置,同样要进行修改:
上述红框中最后一个是生成PDF文件后放置的位置,所以多了个pdf\字样,这个也根据你pdf想放置的位置来进行修改。
再来看Excel文件中的代码:
Cells(i,2)意思是第i行,第二列的单元格。
发送邮件给第i行第8列单元格中的收件人,因为收件人的邮箱是在Excel文档中对应的第8列,所有这里是8;
邮件的主题,这里的主题是放置在第2列中的,所有是2;
邮件的正文,Cells(i,1)和Cells(i,7)表示的是对应单元格中的内容,文字部分大家可以修改成你们需要写的文字部分;
如果你嫌邮件挨个打开预览很麻烦,可以直接将上述代码中的display修改为send。不过还是建议大家在正式发送之前,预览检查一下比较稳妥,顶多就是挨个邮件点击一下发送按钮嘛。
上述全部完成之后,如何运行呢?
弹出对话框中选择:myMailMerge
弹出对话框中选择:ThisWorkbook.sendemail,点击执行。
检查一下,如果没有毛病就发送吧。当然,还是我上述提到的,如果你要批量发送上百封邮件,内容无误的话,请相信系统,直接可以无须预览进行发送的,毕竟点100多下发送邮件按钮也是很辛苦的一件事情。
获取源文件进行运用吧。
好了,如果你还有不明白的地方,可以直接留言或私信,大家一起交流学习。
