用word邮件合并批量做信函、标签的时候,如果弹出「无法打开数据源」或者「数据源无法访问」的提示,一般都是文件格式不对、程序占用文件,或是安全设置拦截导致的。照着下面6步挨个排查,很快就能定位问题修好。 邮件合并的数据源有固定格式要求。先打开你当数据源用的文件,确认后缀是.xlsx、.xls或者.csv,第一行是字段名,比如姓名、电话、地址,后面每一行对应一条要合并的记录就行。 要是格式不对,打开Excel点「文件」→「另存为」,选「Excel工作簿(*.xlsx)」或者「CSV UTF-8(逗号分隔)(*.csv)」重新存一遍就好。 如果Excel、WPS或者别的程序正开着这个数据源文件,Word会因为文件被锁读不了。把所有可能占用这个文件的程序全关了,连后台挂着的进程也别漏。 按Ctrl+Shift+Esc调出任务管理器,切到「进程」选项卡,找到Excel或者WPS的相关进程,右键点「结束任务」,确保程序完全退干净。 文件路径太长,或者文件名带#、&这类特殊字符、甚至全是中文,都可能让Word读取出错。把数据源文件挪到路径很短的文件夹里,比如D:\data\这种,文件名改成纯英文或者数字的组合。 打开文件资源管理器,右键点文件选「重命名」,别用中文和特殊符号,改完之后再到Word里重新选这个文件就行。 邮件合并要靠宏支持,如果Word的宏安全级别开太高,就会拦着不让加载数据源。你依次点「文件」→「选项」→「信任中心」→「信任中心设置」→「宏设置」。 安全的随机密码生成器。支持自定义长度、字符类型(大写/小写字母、数字、特殊符号),排除相似字符,批量生成。纯 Python 标准库,无需 API 密钥。 选「启用所有宏」或者「禁用所有宏,并发出通知」,再勾上「信任对VBA工程对象模型的访问」,点确定保存设置,之后重启下Word。 前面几步都调整完之后,回到Word点「邮件」选项卡→「选择收件人」→「使用现有列表」,重新浏览选中你刚处理好的数据源文件。 弹出「选择表格」的对话框时,确认工作表名没错,且「数据首行包含列标题」的选项已经勾上,点确定。要是加载成功,预览区域就能看到合并后的效果了。 要是前面几步都试了还是不行,就把Excel文件转成CSV格式。打开Excel点「文件」→「另存为」,选「CSV UTF-8(逗号分隔)(*.csv)」格式存下来。 CSV的兼容性要好很多,但要注意:存完之后只会保留当前这一个工作表,而且公式、单元格颜色这类特殊格式都会丢失。转完之后再到Word里选这个CSV文件测试就行。 走完上面这些步骤,Word邮件合并基本都能正常读取数据源了。要是问题还没解决,就检查下数据源文件是不是损坏了,或者开一个全新的空白Word文档,从头走一遍邮件合并的流程试试。第1步:检查数据源文件格式

第2步:关闭占用数据源的程序

第3步:简化文件路径和名称

第4步:检查Word宏安全设置

第5步:重新选择数据源并测试
第6步:备用方案-转换数据源格式










