邮件合并实现多行数据合并详细过程

邮件合并实现多行数据合并详细过程

ID:41167489

大小:369.97 KB

页数:4页

时间:2019-08-18

邮件合并实现多行数据合并详细过程_第1页
邮件合并实现多行数据合并详细过程_第2页
邮件合并实现多行数据合并详细过程_第3页
邮件合并实现多行数据合并详细过程_第4页
资源描述:

《邮件合并实现多行数据合并详细过程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、通邮件合并实现多行数据合并到一个模板应朋友之请,要帮她实现一个邮件合并的应用场景。本来,邮件合并是个挺简单的事。但是她的要求却远远超出我对邮件合并的认知。要求是这样的:相同系列的不同产品要放在同一张质量保证书上。每种系列下不超过3个规格。不同系列要分开做质量保证书。WORD的邮件合并对于处理连续单行的数据比较容易,但是对于这种要按某个字段分开处理不太容易。这就是所谓的多行数据合并到一个模板中的问题。网上搜索了很多教程,看的迷迷糊糊,没有一个真的看懂了。经过一个晚上的反复摸索。总算有了眉目,现将过程记录下来,以防遗忘。EXCEL文件清单内容如下图。最右列的计数项是添

2、加的辅助列,公式为=if(l2=l3,1,0),也就是判断本行的编号和下一行的编号是否一致。这个非常重要,因为后面的拆分要依靠此列的数据指引。最终的效果如下图最终实现域代码如图下面是具体的操作步骤:注意:本文中所要求输入的内容中,除了中文外,其他内容均要求在英文半角状态下输入。先新建一空白WORD文档,然后插入一个多列(根据需求)3行(因为最多只有3个型号,当然,实际使用过程中应该是增加表头行的)的空白表格。然后在“邮件”选项卡中点击“选择收件人”,然后选择“使用现有列表”,找到你保存的EXCEL源文件。打开后,进入正常的邮件合并界面。这一步不多说,因为就是普通的

3、邮件合并步骤,网上教程也很多。在域代码图所示的第一个空白单元格中,按照常规的邮件合并方法,插入编号字段和规格字段。到这一步为止,所有步骤和普通邮件合并没有任何区别。区别在接下来的步骤中。在第二行第一个空白单元格中,先按下ALT+F9,然后按CTRL+F9,出现一对大括号{},但这个大括号一定是要通过组合键出来,手工输入是无效的。在大括号中输入seta"",a可以自己指定其他的名称。在seta""这三者之间都要有空格。然后将光标定位到“”中间,在菜单中选择“插入合并域”,在列表中选择“计数”字段。这样就会得到{seta"{MERGEFIELD计数}"}这样的代码。接

4、着,在邮件选项卡下的‘规则’下拉列表中选择“下一条记录”,如下图在接下来的对话框中,域名栏中选择“计数”,比较条件选择“等于”,比较对象框中输入1.确定。此时在前面的代码后面应该出现了{NEXTIF{MERGEFIELD计数}=1}这样的代码。再此代码后面光标处,再次按CTRL+F9,出现对大括号,在大括号中输入ifa<>0,注意<>这两个符号中间没有空格,其他单词之间均有空格。在0后面输入一个空格符号,点击“邮件”选项卡下的插入合并域,选择“编号”字段插入,然后再输入空格,输入一个连续的双引号""。得到的代码,如上图中红色圈住的下面的部分。在移到第二行第二列单元

5、格中,按上面一个步骤输入,不过,要将其中的”编号”更换为“规格”字段。这样,第二行就继续完成。将第二行内容复制到第三行中,就完成了编辑工作。最终效果见上文的图。此时按ALT+F9,退出域代码编辑状态,如下图。点击预览结果即可看到最终的结果。然后可以完成合并。下面来说说这些代码的用处。做到知其所以然,虽然这只是我自己摸索理解的,不一定对,但至少它实现了我的目标,姑且认为理解的是对的。等以的事再慢慢查说明,再做研究。{seta"{MERGEFIELD计数}"}这第一段代码是指将前一行中的计数对应的值赋予a变量。开始我认为这段代码是将当前行对应的记录的计数项的值赋予变量

6、的,但后来仔细想想了,还是应该读取的上一行计数的对应值。因为这个代码只有从第二行才开始起作用,所以,应该读取的是前一行数据对应的计数的值。{NEXTIF{MERGEFIELD计数}=1}这段代码其实是WORD自己产生的,并不需要手工输入。但是这个步骤很关键,它判断上一行的计数值是不是1,如果是1,那么说明这一行是有数据要填充的,所以要读取上一行记录的下一条的内容来填充到本行。{ifa<>0{MERGEFIELD质量证明书编码}""}如果记录条数达不到3条的话,又不用这段代码限制的话,上面一条代码造成的结果就是,它会将剩下的行内填入上一条记录的内容。为了避免这种情况

7、,本段代码就用来判断a变量是否为0,如果为0,就不显示了。验证一下。假如一个编号对应了2个记录。那么计数项中,第1个记录和第2个记录的对应值应该是1和0.在邮件合并中,第一行内会填入第一个记录内容。第二行时,第一段代码先取得上一行的计数值,第1个记录对应的计数值是1,并将1赋予a变量。第二段代码判断记计数值=1,所以允许读取第2个记录内容。第三段代码则根据a变量的值是否为0,显示a此时应该是1,所以显示内容。到了第三行,由于第2个记录对应的计数值为0,第三段代码作出了a=0的判断,显示为空。而三行之后,又进入了另外一个表格的循环。这样就实现了目标要求。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。