使用WordMail Merge(邮件合并)功能实现批文档\邮件\通知的生成
2007-11-21 10:46
  常常会用到一个模板生成多个\多份文档、邮件、通知的情况,文档中除了个别关键字字段(如,名字、编号、或者日期等),其余内容都是同样的。这种情况下,如果单个生成文档(打开,添加/修改关键字段,保存),则费时费力,而且容易出错。
  好在Word提供了一个Mail Merge的功能,该功能允许一个文档模板从一个数据源中提取关键字段,替换模板中的内容,生成多个文档。特别适用于通知、发邮件、证书的生成。这个数据源可以是Excel,可以是Access数据库。当然,Excel格式是最简单和方便的了。
  先构造一个数据源文件,这里使用最简单的内容,即姓名,编号、性别。如下
  Name              Number            Gender
  张三                    1                  Mr.
  李四                    2                  Mr.
  黄一                    3                    Ms.
  然后创建模板。打开word,选择Tools -> Letters and Mailings -> Mail Merge,此时就打开了一个Mail Merge的对话框(XP或者2003应该在右侧出现一个对话框)。在刚才的位置再点击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.
  BR,
  Admin
  其中的《》引用的内容即为插入域,是点击插入合并域后选择插入的,在合并数据源的时候,这些字段会自动替换为数据源中的真实数据。
  这个时候可以通过点击工具条上的查看合并数据”(View Merged Data)来查看合并数据源后的效果,如下,
  Hello, Mr. 张三,
  Your number is 1. Thank you.
  BR,
  Admin
  最后,可以使用合并到新文档Merge to New document)来保存所有合并数据源后的文件,或者,合并到打印机Merge to Printer)来打印,或者邮件发合并到邮件来发送。
很好,很详细补充一点,如果是数字带有小数点,可以控制小数点的位置。方法:在merge的地方右击--Toggle field codes--输入\#“#,##0”,即不保留小数点,\#“#,##0.00”即保留两位小数点。以此类推。最后再右击,Toggle field codes即可。