大家在使用Word邮件合并
这个功能 ,比如制作席卡、贺卡、准考证、员工档案、成绩单、邀请函、名片等等,那就需要对图片路径进行转换处理,此脚本就是直接将图片的路径提取出来,并把内容放到txt格式
的文本文档里,打开Excel直接粘贴即可
批处理脚本使用
批处理脚本如下:
bat
@echo off
mode con lines=30
title Word邮件合并获取图片全路径
color 0a
set "OldStr=%~dp0"
set "NewStr=%OldStr:\=\\%"
for %%i in (*.png,*.jpg,*.gif) do (
echo %NewStr%%%i>>列表.txt
)
pause
此脚本使用的相关注意事项
- 请将该文件放到word邮件引用所需要的图片位置
- 图片格式可支持png、jpg、gif三类
- 脚本重复执行导致生成的
列表.txt
内容会重复
脚本使用方法
-
1、在需要进行邮件合并的文件夹下,最好是把所有图片放在一个文件夹下,比如下面这种:
-
2、新建一个文本文档.txt
-
3、复制脚本内容到这个文件里面,将文件另存为,修改编码为 ANSI,之后保存就行了,后面出现的弹窗选择替换文件既可
-
4、更换文件类型为bat格式,具体操作如下:
重要提示:以上为脚本的准备工作,下面进入正题,即获取图片路径
双击这个脚本就可以得到一个列表.txt,里面为图片的路径,如果重复双击 这个脚本,那么该列表.txt
原有内容不会清空 ,而是再次重复内容,重复的次数为你操作的次数。
word邮件合并(以WPS操作为例,可以类推微软Office操作)
-
1、准备一个Excel,数据的文件类型要求为.xls,为
97-2003文件
如果文件类型为.xlsx,那么在WPS里做数据源打开操作会提示:
WPS文字无法打开数据源。
-
2、填充Excel数据
公式参考,
图片路径前面的
要使用单元格绝对引用$
,这样拉姓名就不会变成其它值bat获取带后缀 =MID(图片路径1,LEN(图片路径前面的)+1,LEN(图片路径1)) =MID(B2,LEN($C$1)+1,LEN(B2)) 获取不带后缀 =LEFT(MID(图片路径1,LEN(图片路径前面的)+1,LEN("."))),FIND(".",MID(图片路径1,LEN(图片路径前面的)+1,LEN(图片路径1)))-1) =LEFT(MID(B2,LEN($C$1)+1,LEN(B2)),FIND(".",MID(B2,LEN($C$1)+1,LEN(B2)))-1)
-
3、word邮件操作打开数据源(引用>邮件,邮件合并>打开数据源)
-
4、插入合并域,哪里
需要excel里的内容
就往哪里插入合并域
-
5、插入图片域
到这里的话,如果你的数据不需要图片就可以直接看合并后的内容了,但是数据要包含图片就不一样,需要插入图片域
注意,记住图片路径,即上面图里举例的路径,它是由输入法在英文状态下通过双引号将两边包裹着
-
6、进入域编辑操作
这最后的效果不对劲,没啥用,先别急,还要进行修改域代码。通过组合快捷键
ALT+F9
来修改,不要忘记了引号包裹着图片路径。
再通过组合快捷键
ALT+F9
来退出域编辑操作。
-
7、开始合并到新文档里
发现图片没有出来,只有姓名出来了,可以通过组合快捷键
Ctrl+A
全选所有内容,按下F9
就可以出来图片了,效果如下所示:
补充:
一个小的知识点:WPS Office如果设置了图片大小,操作邮件合并后并不能按照原先的图片大小来设置,而Microsoft office邮件合并后图片大小会和事先设置好的图片大小保持一样。