新浪博客

word邮件合并生成学生证

2011-12-06 10:45阅读:
批量“套打”功能的实现:对于“姓名”、“学籍号”自动“套打”完全可以由上述的“邮件合并”功能实现,这里的关键是学生1寸照片的自动“套打”。其实,只要深入了解“邮件合并”的原理,照样可以实现。“邮件合并”功能只是WORD的一种“域”功能,所以完全可以通过编写域代码来实现。 在Word中插入图片可以用IncludePicture 域来实现,具体语法为IncludePicture '文件名'。插入照片的功能解决之后,问题就转换为如何实现自动转换文件名的问题。而照片的名称为了管理的方便通常都是使用编号(如学籍号)作为文件名,这样使用编号域即可解决问题。
那么怎么实现文件名的自动转换呢?方法就是——把两个域嵌套起来!
操作步骤:
1、打开word,从视图菜单选择“工具栏”,“邮件合并”;
2、从邮件合并工具栏上依次选择按钮,设置文档类型为“信函”;
3、单击打开数据源按钮浏览选取准备好的数据库;
4、然后设计主文档、排版、设置纸张,并通过邮件合并插入只包含文字的域。
5、下面是关键的一步:就是照片域的实现:
先把光标定位在要插入照片的地方,按Ctrl+F9插入一个域,输入“IncludePicture 'e:\\photo\\”再按Ctrl+F9插入一个域,输入“MergeField '编号'”,光标定位到这个域之后输入“.jpg'”,最后看到的结果应该是:{IncludePicture 'e:\\photo\\{MergeField '编号'}.jpg'}。
注:e:\photo\是照片存放的地址。
6、然后单击合并到新文档按钮,切换到生成的新文档里,咦,怎么照片处什么都没有?不会是上当了吧?
别急,保存生成文件,按Ctrl+A全选,再按F9进行刷新,哈哈,每个学生对应的照片是不是全出来了。
注意事项:
1、Word中IncludePicture 域中文件名的路径用“\\”代替“\”。
2、IncludePicture域同样支持长文件名。比如可以写:{IncludePicture 'D:\\Documents and Settings\\Administrator\\桌面\\用Word邮件合并实现批量打印带照片证件\\邮件合并\\photo\\005.
jpg'}
3、IncludePicture域中的文件名路径可以使用相对路径和绝对路径。比如可以写:
{IncludePicture '邮件合并\\photo\\005.jpg'},文件保存后则会从文档所在的文件夹下去找对应文件。
4、特别注意,引号内的文件名一定不能写错甚至多加一个空格也不行,否则Word将找不到图片文件,只会出现一个红叉。
小结:
实际上插入一张照片使用的域是{IncludePicture 'e:\\photo\\001.jpg'},插入编号域用的是{MergeField '编号'},而本文把这两个域嵌套起来就成了{IncludePicture 'e:\\photo\\{MergeField '编号'}.jpg'}从而实现了本文最初提出的要求。


ps:在实验过程中发现,图片有时会出现多张的情况,猜测是生成图片的域可能写了几遍的原因,目前,只能是注意在更改图片域时及时删除原来的。
插了两张效果图如下:
word邮件合并生成学生证
word邮件合并生成学生证

我的更多文章

下载客户端阅读体验更佳

APP专享