使用Word的Mail Merge(邮件合并)功能实现批文档\邮件\通知的生成
题记
常常会用到一个模板生成多个\多份文档、邮件、通知的情况,文档中除了个别关键字字段(如,名字、编号、或者日期等),其余内容都是同样的。这种情况下,如果单个生成文档(打开,添加/修改关键字段,保存),则费时费力,而且容易出错。
Word提供了一个Mail Merge的功能,该功能允许一个文档模板从一个数据源中提取关键字段,替换模板中的内容,生成多个文档。特别适用于通知、群发邮件、证书的生成。这个数据源可以是Excel,可以是Access数据库。
举例
- 先在Excel中构造一个数据源文件,这里使用最简单的内容,即姓名,编号、性别。如下
Name | Number | Gender |
张三 | 1 | Male |
李四 | 2 | Famale |
黄一 | 3 | Male |
- 然后创建模板。打开word,选择Mailings-> Start Mail Merge -> Step by Step Mail Merge Wizard,右边会出现mail merge的对话框。在刚才的位置再点击Show Mail Merge Toolbar,可以看到在工具栏出现Mail Merge的工具条。
- 按照Mail Merge对话框的提示,打开一个文档(当前文档就可以),选择默认设置,继续下一步,开始编辑你的文档,此时会弹出选择数据源的对话框,这个时候,就需要指定到刚才创建的数据源文件,然后选择数据表单(sheet),选择你需要的数据行。
- 然后,需要编辑你的文档,添加你需要加入的合并域(Field)。在刚才打开的Mail Merge工具条可以看到有一个“插入合并域”(Insert Merge Field)和插入单词域(Insert Word Field)。插入合并域可以直接添加字段,而插入单词域则允许一些逻辑判断,比如(如果……则……否则……)。
- 编辑文档如下。
Hello, «Gender» «Name»,
Your number is «Number». Thank you.
其中的《》引用的内容即为插入域,是点击“插入合并域”后选择插入的,在合并数据源的时候或者Preview Results的时候,这些字段会自动替换为数据源中的真实数据。
这个时候可以通过点击工具条上的“查看合并数据”(View Merged Data)来查看合并数据源后的效果,如下,
Hello, Mr. 张三,
Your number is 1. Thank you.
最后
可以使用“合并到新文档”(Merge to New document)来保存所有合并数据源后的文件,或者,“合并到打印机”(Merge to Printer)来打印,或者“合并到邮件”来发送。
但是他不能分开成一个个单独的文档,可以使用vba来实现,见http://www.cnblogs.com/batter152/p/3530711.html。
或者使用第三方的插件Individual Merge Letter,安装好之后在word的ribbon上多出一个group,有一些按钮,点击之后如图,就可以自动分成多个文档。