邮件合并:将多条记录合并到一页
合并后的效果:
赵六
赵六地址1 |
|
赵六地址2 |
|
赵六地址3 |
|
赵六地址4 |
|
赵六地址5 |
|
张三
张三地址 |
|
|
|
|
|
|
|
|
|
李四
李四地址 |
|
|
|
|
|
|
|
|
|
王五
王五地址1 |
|
王五地址2 |
|
王五地址3 |
|
|
|
|
|
钱七
钱七地址1 |
|
钱七地址2 |
|
钱七地址3 |
|
钱七地址4 |
|
钱七地址5 |
|
钱七
钱七地址6 |
|
钱七地址7 |
|
钱七地址8 |
|
钱七地址9 |
|
|
|
做法:
1、在 excel 中加一列,叫条件,如果有下一条记录,则等于 1,否则,等于0。
=IF(A2=A3,1,0)
2、邮件合并时,要先选择数据源
3、每页可以容纳 5 条记录,如果超过5 条记录,会自动显示在下一页。
表格外面的一行,没有什么特别,是一个合并域,姓名:{ MERGEFIELD "姓名" }
表格中的第一行,有两部分组成。前面也是一个合并域,地址:{ MERGEFIELD "地址" },后面的是一个书签域和一个合并域:{ SET tj { MERGEFIELD "条件" } },把当前这一行的条件值保存起来。
表格中的第二行,分成三个部分,第一部分是一个下一条记录域:{ NEXTIF { MERGEFIELD "条件" } = 1 },尽管说是下一条记录,实际上从域中取得的值还是当前记录,所以,要在数据源中加上条件一列,即,这一条记录的条件值等于 1 时,就显示下一条记录。
这个命令只能控制一条记录,因此,如果在一页上要显示 5 条记录,就要把这个命令,再复制三份。
但是,光这样做还是不行的,如果某个人的记录少于 5 条记录,那么,就会复制最后一条记录,以填满表格,这显然不是我们想要的结果,因此,就要加上后面的命令。即,前面保存的书签值 = 1,就显示这一条记录,否则,不显示:{ IF { REF tj } = 1 { MERGEFIELD "地址" } "" }
第三部分,再把这一行的条件值保存到书签中,同上。
第三、四、五行,直接复制就好了。第五行的保存书签可以不要。