日常办公:批处理编写Word邮件合并获取图片全路径

大家在使用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邮件合并后图片大小会和事先设置好的图片大小保持一样。

相关推荐
有过~4 小时前
WPS Office国际版 办公软件v18.20.2完美去广解锁高级版
wps
m0_7482480220 小时前
C++ 异常处理全解析:从语法到设计哲学
java·c++·word
开开心心就好1 天前
微软官方出品:免费数据恢复工具推荐
网络·笔记·microsoft·pdf·word·音视频·symfony
gc_22991 天前
学习C#调用OpenXml操作word文档的基本用法(5:Style类分析-3)
word·openxml·段落样式定义
_处女座程序员的日常3 天前
如何预览常见格式word、excel、ppt、图片等格式的文档
前端·javascript·word·excel·开源软件
学会用脚编程4 天前
word转Pdf,在window正常,放在linux服务器上就转出来中文是空白
pdf·word
跟着珅聪学java4 天前
在Java中判断Word文档中是否包含表格并读取表格内容,可以使用Apache POI库教程
java·开发语言·word
CodeCraft Studio5 天前
国产化Excel处理控件Spire.XLS教程:如何使用 Java 将 TXT 文本转换为 Excel 表格
java·word·excel·spire·文档格式转换·txt转excel
不坑老师5 天前
怎么在PPT里面插入网页?
microsoft·powerpoint·wps·office
开开心心就好6 天前
电子报纸离线保存:一键下载多报PDF工具
网络·笔记·macos·pdf·word·音视频·phpstorm