用“域”来往Word中插入图片

来源:转载

这里,会用到一个叫“INCLUDEPICTURE”的Word域。先来看看这个域的用法(来自Word帮助文档):

域用法:{ INCLUDEPICTURE "FileName" [Switches ] }

"FileName" 图形文件的名称和位置。如果其中包含较长的带空格文件名,请用引号引住。指定路径 (路径:操作系统用来定位文件夹或文件的路径,例如 C:\House finances\March.doc。)时,请以双反斜杠替代单反斜杠。例如:

“C:\\Manual\\Art\\Art 22.gif”

Switches 开关,如下:

\c Converter 指定要使用的图形筛选。图形筛选的文件名不带有 .flt 扩展名,例如,输入 pictim32 表示筛选文件 Pictim32.flt。

\d 图形数据不随文档保存以减小文件长度。

注意一下:插入域的时候,包含域代码的那一对大括号并不是手工输入的。应该使用Ctrl+F9来插入域(此时会自动插入表示域的那一对大括号),并在其中填写域代码。

现在先来试验一下通过域插入图片。假设在C:\有一个图片文件test.jpg,那么,在Word里按Ctrl+F9插入域,并填写代码“INCLUDEPICTURE "C:\\test.jpg"”,注意C:后面是“\\”而不是“\”。现在保持光标在域中,按Shift+F9将代码转换为结果,也就是把图片内容显示出来。这时候如果什么也没显示,不要慌,按个F9刷新一下域就行了。其实,在按Shift+F9之前直接按F9刷新域也可以显示出来图片。

INCLUDEPICTURE域已经试验成功了,现在只需要在邮件合并的模板中插入INCLUDEPICTURE域,并在它的“FileName”参数中插入包含图片地址的合并域,比如:

{ INCLUDEPICTURE "{ MERGEFIELD "照片地址" }" }

这里,用的的数据表格是: …… 图片地址

…… C:\\photo\\001.jpg

…… C:\\photo\\002.jpg

…… C:\\photo\\003.jpg

…… ……

现在,点击邮件合并工具栏上的“查看合并数据”按钮进入预览状态,并在INCLUDEPICTURE域上按F9刷新,可以看到图片已经被成功插入到模板中了。不过图片大小似乎不太合适,调整一下。

点击邮件合并工具栏上的“合并到新文档”按钮,看看是不是大功告成?

不是……因为所有的图片好像都是显示的同一个人。没关系,全选这个Word文档,然后按F9对所有域进行刷新。这时候图片应该都换成了正确的图片,如果没有——也许Word有这么个BUG——那你就先把这个文档保存下来,关闭,再打开,全选,F9刷新。

图片刷新的问题是解决了,但是又出现了另一个问题,图片大小都变成调整前的了。也就是说,我们插入INCLUDEPICTURE域之后所做的调整,全都失效。查查Word的帮助文档,可以找到,所有域代码都可以有一个开关,用来保存对域结果进行的格式修改:

\* MERGEFORMAT (注意前面的\*是必须的)

所以,将上面的INCLUDEPICTURE域代码修改为

{ INCLUDEPICTURE "{ MERGEFIELD "照片地址" }" \* MERGEFORMAT }

在邮件合并模板中F9刷新显示图片,调整图片,再合并成新文档,刷新全部域——OK,这次全都是调整后的格式了。

最后还有一点不得不说明,图片只有在应用“嵌入型”版式的时候才可以用于邮件合并。如果选成其它格式,虽然定位方便了,但是邮件合并的时候会不认它。如果确实需要灵活的定位,可以考虑插入一个文本框,去掉边框等属性,并在这个文本框里插入INCLUDEPICTURE域代码,调文本框的位置即可。

============================

经试验,有以下几点注意

1.按F9进行替代时,要选中域,不然看不到结果

2.表中存放图片路径时,不必加引号,但必须是双斜线

3.实际应用中,可用dbf格式建立存放图片路径的表,因为字符操作方便,之后另存为xls表

分享给朋友:
您可能感兴趣的文章:
随机阅读: