邮件合并是批量做通知、邀请函、证书的常用功能,卡住的地方九成在数据源。
一、先看路径
数据源放在网络盘、U 盘、压缩包内、或者路径过长时,读取失败的概率很高。
做法很简单:把数据文件复制到本地磁盘,和主文档放在同一个文件夹里,重新选择数据源。路径越短越稳。
二、文件是否被占用
数据源文件正在被其他程序打开时,合并功能可能读不到。
先把那份表格关掉,再回到主文档重新连接一次。多人协作环境下,还要确认没有别人正在编辑同一个文件。

三、表头与数据格式
邮件合并对表头的要求很死:
必须单行。 多行表头会被当成数据,字段名取错。
不能有合并单元格。 合并单元格会让列对应关系错乱。
列名不能为空。 有空列名时,字段列表里会出现无名项,插入合并域就会失败。
数据区必须连续。 中间夹空行会导致后半段数据读不到。
四、格式兼容
用旧版表格格式保存的文件,在新版本里连接时偶尔会出现驱动不匹配。
最简单的处理是另存为当前格式,或者把数据复制到一张新表里,另存后重新连接。
五、替代方案
如果只是做几十份格式统一的通知,可以把数据整理成制表符分隔的纯文本文件,兼容性更稳,几乎不会出现连接失败。
数据量再小一点,直接在文档里用域代码配合简单变量,也能实现批量替换。
六、做完之后
合并前先用三条数据试跑一次,确认字段没有错位,再执行全量。
生成结果一般是一个长文档,按页拆分前记得先备份,拆分后不好合并回去。
