如何利用 word 邮件合并为 Word 文档批量配图 如何利用邮件合并批量制作word
在 Word 文档中插入图片是再日常不过的操作之一。然而,如果你有过批量向 Word 中插入图片的经历,那大概不会是什么令人愉快的体验——不仅要考虑粘贴格式、文字环绕等千奇百怪的格式问题,还要应对 Word 顽疾一般的卡顿和崩溃。这些软件缺陷经常能让加图片这类本不费工夫的操作变成一种煎熬。
设想这样的工作场景:你的老板准备对三国公司进行投资,但在此之前想对它的三个子公司——魏国公司、蜀国公司和吴国公司——进行调查,看它们是否在几家主流假新闻媒体——《扭腰时报》、《花儿街日报》和蓬勃新闻——上有过负面报道。为此,你被要求在上述媒体的网站上搜索三家公司的相关报道,并将搜索结果截图,分类汇总到一份报告中。
上面的任务只涉及三家公司和三个网站,加起来也不过需要创建 3 个文档,插入 9 次图片。但如果需要调查的是 30 家公司和 30 个网站呢?逐一手工创建文档并插入图片似乎就不是明智的做法了。且不论操作繁琐和浪费时间,忙中出错的机率也会大大增加。
有没有什么更省事的方法——比如,能不能只提供图片素材和文档模板,剩下的配图工作让机器自动完成?答案是肯定的,方法就是借助 Word 内建的自动化工具——邮件合并。
这个答案听起来可能让人有些摸不着头脑——发邮件和插入图片有什么关系?实际上,邮件合并是一个「名不副实」的功能。它的作用是以一个模板为基础,批量将用户提供的信息填入留空位置。之所以被称作「邮件合并」,是因为其最主要的使用场景之一就是制作群发邮件——内容相同、只有称呼等部分因收件人而异。
但邮件合并功能的潜力并不止于填写收件人;它能填写任何文本变量。另一方面,Word 文档中的图片不仅可以直接嵌入在文件中,也可以是指向外部文件(包括本地和远程)的链接。而既然链接的本质是文本,我们就可以通过插入文本的方式插入链接,进而实现插入图片。这样,邮件合并和插入图片间的桥梁就被打通了。后文就以上面设想的工作场景为例,说明如何使用邮件合并功能批量插入图片。
准备工作
在正式使用邮件合并前,需要先做一些准备工作。
1. 按一定的命名规律收集资源文件。 这实际上应该是任何资料收集工作都应遵循的原则,只是对于自动化操作来说格外重要。例如,在上面的情境中,我们可以将针对魏国公司的三张截图分别命名为 1-NYT.png
、1-WSJ.png
和 1-BBG.png
,而将针对另外两家公司的截图各自以 2-
和 3-
为前缀。在此过程中,还可以使用 ShareX 这类具有一定编程能力的截图工具进一步简便操作,但这不是本文重点,在此不赘。
2. 准备存放待填充信息的 Excel 表格。 尽管邮件合并的信息输入可以直接在 Word 中进行,但对于涉及多个变量、条目较多的情况,使用独立的文件作为数据源显然更加可靠、更便于后续修改。其中,表格的第一行是变量的名称,可以自己任取。还是以上述情境为例,涉及的变量包括公司的名称(不妨称作 corpName
)和三张截图的文件名(不妨称作 pathNYT
、pathWSJ
和 pathBBG
)。之后的各行则依次填入实际信息。注意 Excel 的自动填充功能可以极大加快填写进度。例如,填写第一张截图的名称 1-NYT
(扩展名 .png
是始终不变的,故无需作为变量的一部分)后,按住单元格右下角向下拖动,即可将同列单元格快速填好。
3. 最后,将上述所有图片资源文件和 Excel 表格放在同一个项目文件夹下(不妨称作 fakeNews
),就完成了全部的准备工作。
建立邮件合并模板
任何邮件合并操作都是以建立模板为起点的。为此,我们在项目文件夹下新建一个 Word 文档(不妨称为 fakeNews.docx
),在其中填好最终所需成品中共同的部分,并将变化的部分留空。
接着,切换到「邮件」选项卡,选择「开始邮件合并」>「信件」,启动邮件合并功能。然后,点击「选择收件人」>「使用已有列表」,在弹出的对话框中选择之前准备好的 Excel 表格。
这时,在「插入合并域」的下拉菜单中,就可以看到我们在表格第一行填写的变量名称了。
我们首先填写最简单的一个变量。将光标移动到模板标题的「负面报道」字样之前,然后在「插入合并域」的下拉菜单中点选存放公司名称的变量 corpName
。这时,如果你选中工具栏中的「预览结果」选项,就可以通过右边的箭头按钮实时预览填充效果。
接下来的重点就是插入图片。上面提到,Word 中的图片可以通过链接的形式插入。用 Office 的术语来说,就是插入一个指向外部图片的域(field)。
什么是域?这个名字听起来很玄乎,但所谓的「域」就是一个占位符,它的作用是告诉 Word「显示的时候把我换成别的东西」。例如,上一步插入的公司名称变量,本质也是一个域。我们可以通过按下 Option-F9 (macOS) / Alt-F9 (Windows) 让它现出原形:
{ MERGEFIELD corpName }
这就是 Office 中域代码的一般形式:大写字母标示的域类型,后接参数指定要显示的内容,最外部由一对花括号包裹。在上面的域代码中,MERGEFIELD
域告诉 Word:「把我换成数据源中 corpName
变量的内容」。
回到我们的问题,图片的插入是由 INCLUDEPICTURE
域实现的。它的语法是:
{ INCLUDEPICTURE [开关] "文件名" }
其中,开关(switch) 是可写可不写的控制选项,位置也可以挪到代码最后。就 INCLUDEPICTURE
域而言,最常用的开关是 d
,其作用是避免把引用的图片文件嵌入到文档中。考虑到处于制作初期,图片资源可能还需要更新,同时出于节约空间和提高性能的考虑,建议使用这个选项。(后文会提及如何在定稿后嵌入图片的问题。)这样,如果要引用在《扭腰时报》网站上搜索魏国公司的截图,相应的域代码是:
{ INCLUDEPICTURE d "1-NYT.png" }
延伸说明:关于域代码的输入
Word 中插入域的「官方」途径是使用「插入」选项卡下的「域」按钮。但这种方法不够快捷,也不能满足很多复杂的需求;手工输入域代码大多时候是更好的方式。不过,Word 并不会识别直接输入或从别处粘贴的域代码;要将文本形式的代码转换为实际起作用的域,需要按照如下步骤操作:
- 通过 Option-F9 (macOS) / Alt-F9 (Windows) 组合键将显示模式切换为显示域代码本身。
- 输入(或粘贴)所需域代码中不包含最外侧花括号的部分。
- 选中上述不带外侧括号的代码,注意一定不要选中行尾的换行符。如果不小心选多了,可以按 Shift-← 取消选择最后一个字符。
- 按组合键 Command-F9 (macOS) / Ctrl-F9 (Windows),Word 会自动在选中区域两侧加上花括号并将其转化为域代码。
标签:
相关文章
-
无相关信息