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,有一些按钮,点击之后如图,就可以自动分成多个文档。

     

  • 相关阅读:
    fastjson异常(字符串集合转成字符串数组)
    从url中下载资源(目前测试只有照片,文件类的没有进行测试)
    springboot+mybatisplus进行整合并且使用逆向工程
    maven使用
    maven-相关配置
    【深入】java 单例模式(转)
    jdbcTemplate的配置
    Spring JdbcTemplate 的使用与学习(转)
    spring 第一篇(1-1):让java开发变得更简单(下)转
    context:exclude-filter 与 context:include-filter 转
  • 原文地址:https://www.cnblogs.com/batter152/p/3622534.html
Copyright © 2011-2022 走看看