zoukankan      html  css  js  c++  java
  • 使用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,有一些按钮,点击之后如图,就可以自动分成多个文档。

     

  • 相关阅读:
    创作型---简单工厂模式
    创作型---建造者模式
    创作型---原型模式(C# ICloneable接口的实现)
    创作型---单例模式
    实时数据库简介和比较---PI
    记一次项目启动卡死不动,控制台无错误信息
    记一次jdk1.7升级jdk1.8项目报错
    javamail插件发送不同类型邮件方式
    javaweb购物车实现的几种方式
    android客户端app和服务端交互token的作用
  • 原文地址:https://www.cnblogs.com/batter152/p/3622534.html
Copyright © 2011-2022 走看看