系列文章目录
python学习—合并TXT文本文件
python学习—统计嵌套文件夹内的文件数量并建立索引表格
python学习—查找指定目录下的指定类型文件
python学习—年会不能停,游戏抽签抽奖
python学习—循环语句-控制流
python学习—合并多个Excel工作簿表格文件
python学习—批量复制并重命名文件夹
文章目录
功能说明
最近有个工作,是某个高速公路的征地项目,需要给高速公路占地的某县下辖的几个乡镇22个村的2000多户村民,按照每户征占地面积计算安置补偿费,并给每户编制一张固定格式的《征地补偿安置协议书》。笨方法当然是人海战术,每个人对照表格往word文档里面复制粘贴了。
聪明人当然不能用笨方法,况且我也没有那么多帮手,这么大量的word工作,又有固定模板,直接想到了word的邮件合并功能。
(知识点) 关于Word 的邮件合并功能
Word 的邮件合并功能是一种可以批量处理文档的功能。它将包含固定内容的 主文档 与包含变化信息的 数据源文档 相结合,从而生成个性化的批量文档。数据源可以是 Excel 工作表、Access 文件、MSSQL Server 数据库等。
主文档则是具有固定格式和通用内容的 Word 文档,如未填写具体收件人信息的信封、信件模板等。
该功能常用于批量打印信封、信件、请柬、工资条、个人简历等。
本文章目标为:
- 1 把固定格式的空白《征地补偿安置协议书》作为 主文档 ;
- 2 把村集体提供的,每家每户占地面积经过测绘核定的统计表,经过数据处理,作为 数据源文档 ;
- 3 开始邮件合并,插入数据域,预览并完成合并。
1 准备主文档模板
- 工作内容:创建或打开一个 Word 文档作为主文档,即信函的模板。确定信函格式、固定内容,并预留插入变化信息的位置。
本次工作的主文档如下图:
如图可见,红色部分是每家每户不同的地方,也就是每次需要替换的地方,也就是邮件合并的数据域,剩下的区域都是不变的。
2 准备数据源
- 工作内容:创建或准备包含收件人等变化信息的数据源,如 Excel 工作表。工作表中每一行代表一个收件人信息,每一列对应不同信息字段,如姓名、地址、称呼等。
回到本文工作情景,工作表的每一列,代表《征地补偿安置协议书》中的1个数据域红色,如某某镇某某村、村民户主姓名、面积、金额。列的数量可以很多,但至少每个红色数据域需要单独成1列。
工作表的每一行,代表一户,也就是一张《征地补偿安置协议书》,这个村有多少户就应该有多少行内容。
如下图,是整理好的一个Excel 工作表:
- 表格首行F1、F2、F3。。。。。F18是列的索引名,方便记忆某某镇某某村是F18列,村民户主姓名是F2列,面积是F7列等;
- 表格F17列,是把计算补偿金的钱数,换算成中文大写了,换算的公式如下:P4代表表格单元格16610,提前把万元换算成元了;
=TEXT(ABS(P4),"[DBNum2]")
- 表格F18列村名,我这里是每个村1张 Excel 工作表,所以村名是一样的,原则上可以不用设置数据域的;如果很多村信息放在一张表格中,记得这里修改;
- 注意: word主文档 和 Excel 工作表最好放入同一个文件夹,邮件合并功能等于把这俩文件绑定了,要保证后期不改变位置和不能再更改文件名,否则会导致连接好的邮件合并找不到数据源而失败。如下图所示:
3 开始邮件合并
- 工作内容:
- 1.打开 Word 模板,切换到 “邮件” 分组,在 “开始邮件合并” 分组中单击 “开始邮件合并” 按钮,选择 “邮件合并分步向导” 命令,打开 “邮件合并” 任务窗格。按照向导依次选择文档类型为 “信函”,使用当前文档作为开始文档,选取收件人,即之前准备好的数据源;
- 2.将光标定位到主文档中需要插入数据的位置,点击 “插入合并域” 下拉菜单,选择相应字段,如姓名、地址等,将数据源中的信息插入到主文档中;
- 3.插入完所有需要的域后,点击 “预览信函” 按钮查看生成的信函内容是否正确。
具体操作见下图所示,注意红色字体标注内容,是需要注意的点:
- 选择收件人-使用现有列表:找到设置好的 Excel 工作表,常用的格式就是表格文件,也可以是Access MDB数据库,TXT文本文档,支持的格式如下图:
- 编辑收件人列表: Excel 工作表中,表头位置为列名称,表格最后一行一般都是合计,首尾这些不需要邮件合并的行可以提前关闭。
- 插入合并域:把所有需要更新的位置,替换为数据源表格的 列索引值,我的列索引值 是F1、F2。。。。,也可以直接把表头值作为列索引值,个人习惯。如果选择F1、F2这种,需要提前记录一下 列对应的 数据域,如F2表示户主姓名,F18表示村名等。
- 突出显示合并域:开启后,设置完毕的数据域会增加阴影;关闭后,阴影消失。
- 预览结果:开启后,数据域直接显示邮件合并的结果,即 表格中对应的数据,更加直观,如XX镇乙村;关闭后,显示 列索引值。
- 预览:首个记录,上一个记录、下一个、末尾记录。方便查询
4 完善不足
从邮件合并的预览效果可知,面积值设置的是公顷保留4位小数,补偿金额值是万元保留4位小数,遇到数字结尾是 0 的时候,在word中并没有显示出来。
这个跟数据源Excel 工作表 干系不大,即使Excel 工作表设置了数字格式强制显示4位小数,在word中仍然会舍掉。
这就需要在word中,给这个数据域使用代码强制显示4位小数。
(知识点) 邮件合并中数字强制4位小数
在 Word 邮件合并功能里,按下 Alt + F9 组合键,能够实现显示或隐藏域代码的操作。
- 显示域代码:正常情况下,文档里展示的是合并域的结果(也就是从数据源获取的数据)。要是你按下 “Alt + F9” 组合键,原本显示的数据-就会被对应的域代码所替代,这样你就可以看到 Word 实际使用的指令了。
- 隐藏域代码:当你再次按下 “Alt + F9” 组合键,域代码又会变回正常显示的数据,方便你查看文档的实际内容。
- 在显示域代码的情况下,给数字域增加强制小数位代码,如下:在单元格后面,键入 \#0.0000 表示强制数字4位小数,如果想设置2位小数,改为 \#0.00 即可。
{ MERGEFIELD F13 \#0.0000 } #表示 强制4位小数
{ MERGEFIELD F13 \#0.00 } #表示 强制2位小数
5 输出合并文档
- 工作内容:确认邮件合并的内容无误后,点击 “完成合并” 按钮,选择是将合并结果输出到新文档还是直接打印。
合并方式有3种:
- 全部输出:输出所有行记录,全部记录生成1个新的多页word文档。
- 当前页:输出鼠标点击的页面,生成1个单页的word文档。这个选项主要用于后期修改某一行数据,单独输出修改页使用。
- 输出区间:从1至20页,输出XX村的记录为1个多页word文档,从21至40页,输出XX村记录为一个新word文档。
6 进阶功能:邮件合并图片
日常工作中,还有一种情况:需要把图片插入到word文档中的表格,表格的每个单元格对应不同的图片,如果图片量很大的话,也是可以使用邮件合并功能的。
同样需要 主文档 和 数据域表格,首先准备这些资料。
(1)收集图片列表
打开保持图片的文件夹,需要这些图片的名称列表,用于组织图片的绝对路径的列表。
收集方法可以使用批处理脚本,方法:新建txt文档名称随意,写入下面的代码,保持文档,修改后缀名为: .bat,放入图片的文件夹,双击运行,就会生成图片文件的列表了。
dir *.jpg /b/s> list.xls
如果想直接保存列表为 txt文本格式,也是可以的,修改代码如下:
dir *.jpg /b/s> list.txt
(2)整理数据源表格
打开生成的图片列表,根据 主文档的要求,增加一些字段内容,整理好数据源表格。可以另存为表格文件,也可以保存为txt文本文件,我这次保存为 list.txt 文本文件。
特别注意事项: 图片路径中的 单斜杆 \ 必须要修改成 双斜杠 \ \ ,这是代码能够正确识别路径的关键。
下图是保存成 txt文本文档后的效果。
(3)打开主文档,开始邮件合并
我就简单演示一下操作过程,主文档设置有3个数据域:序号、图片名称、附图。
注意: 插入图片的预览效果是不显现的,只有在输出成新word文档之后, 按 F9 刷新 之后,图片才能显现出来,显示出图片之后保存文档即可。
- 图片的数据域:插入——文档部件——域——INCLUDEPICTURE
- 图片的文件名:这里随便起个名字 AAA ,只是占位使用,无意义
- 替换文件名为图片路径:按下ALT+F9组合键,切换到代码状态,将 刚才起的文件名连同两边的引号一起,替换为 图片路径。切记路径中为双斜杠。
- 按 F9 刷新文档:按下ALT+F9组合键,切换回预览状态,按 F9 键 刷新文档,有可能会显示出图片,不显示也无所谓。继续下一步
- 合并输出生成新word文档,ALT+A 组合键全选文档内容, 按 F9 键 刷新,如果前面操作正确的话,图片就会显现出来了。
(4)完善不足,恢复图片的原始比例
从上图可以看到,合并后的文档,虽然能够显示出图片,但是图片的尺寸发生了变化,图片的长宽变成了1:1的矩形,改变了图片的原始长宽比,导致画面变形扭曲。
只需要稍微调整代码,就可以恢复图片的原始比例。
打开 主文档, 按下ALT+F9组合键,切换到代码状态,可见图片数据域的代码如下:
{ INCLUDEPICTURE { MERGEFIELD 图片路径 } \*MERGEFORMAT }
只需要删除 \*MERGEFORMAT 即可,注意不要删除 }大括号,否则代码报错。
{ INCLUDEPICTURE { MERGEFIELD 图片路径 } }
此时,再次 合并输出生成新word文档,按 F9刷新文档,图片显现,并且恢复原始长宽比例。
7 总结
word的邮件合并功能非常强大,这里只做常用功能介绍。日常办公软件也有很强大的功能,学会这些功能在日常工作中会事半功倍。
Word 的邮件合并功能具有以下优点:
- 提高效率:能够将主文档与数据源相结合,自动批量生成多个文档,避免了逐个手动编辑的繁琐过程,极大地节省了时间和精力,尤其适用于处理大量相似但又有部分差异的文档。
- 确保准确性:只要数据源和主文档设置正确,就可以保证合并后的文档内容准确一致,减少了因手动输入可能导致的错误,提高了文档的质量和规范性。
关于 wps软件能否使用邮件合并功能,刚好有朋友的电脑安装的是wps,经过比对测试,wps软件的文档也是可以使用邮件合并功能的,只是个别名词叫法不同,最后的效果相差无几。
关于 deepseek智能助手,应该也可以接入办公软件实现一些高级操作,后续会继续研究,有兴趣 的朋友大家一起交流啊。