Word域在邮件合并中的作用
2019-09-12蒋桂梅
蒋桂梅
摘 要:Office软件是现在办公软件中使用最广泛、最频繁的软件之一。邮件合并功能将Word和Excel两款软件综合应用,提高了工作效率。将Word域和邮件合并完美结合,提高了综合应用软件的能力,也扩充了两者的使用范围。
关键词:邮件合并;Word域;主文档;数据源
文章编号:2095-2163(2019)04-0313-03 中图分类号:TP399 文献标志码:A
1 邮件合并的基本功能
郵件合并是将主文档和数据源2个基本元素合并成一个新文档。主文档包含了文件中固定不变的文本内容,如信函的正文、工资条的标题行。数据源是多条记录的数据集,用来存放变动文本内容,如信函中客户的姓名、地址等。
在日常办公中,经常需要制作大量信函、信封等。如果采用逐条记录的输入方法,效率极低,而用邮件合并功能可以批量制作,效率很高。
2 邮件合并的基本过程
邮件合并通常包括以下4个步骤:
(1)创建主文档。新建Word文件,在文档中输入主文档内容并保存。主文档是邮件合并中固定不变的文字内容,比如邀请函的时间、地点、落款等。
(2)组织数据源。数据源文档可以选用Word、Excel或Access来制作,不论用哪种软件来制作,都含有标题行的数据记录表,由字段列和记录行构成,字段列规定了该列存储的信息,如工资条含有“编号”、“姓名”、“岗位津贴”、“工龄津贴”等字段名。每一条记录行存储一个对象的相应信息,如工资条中每个员工的具体编号、姓名、岗位津贴、工龄津贴等具体值。
(3)邮件合并。使用邮件合并工具,设置主文档类型,如信函、信封等,打开数据源,在主文档中插入合并域。
(4)执行邮件合并。将数据源和主文档进行合并,生成一个合并文档。
3 Word域的应用
在实际工作过程中,会碰到这样的情形,相同的姓名有多条记录,按一般的邮件合并的步骤,相同的姓名会产生多条邮件合并的结果。举例说明,数据源如图1所示。需要的邮件合并效果如图2所示。
效果要求在邮件合并时能将同一姓名的多条记录自动识别放在同一页,从而达到分类分页效果。通过规则NEXTIF可以实现自动分类分页效果[1]。应用中常会出现如图3所示的问题,后4条记录是重复的,最后一条记录会重复去填补空行。因此,要达到图2的效果,需要更深入了解和使用Word域来解决问题。
3.1 设计主文档
每位老师的授课课程数目不同,因此记录数不等,以最多授课数目来设计主文档,但合并文档输出时需根据老师的实际授课课程数目来合成。
3.2 数据源的处理
如图1所示,将表格按任课教师字段进行排序。增加序号和数量2个字段,在M2单元格中输入=IF(K2=K3,1,0),如果该记录为该老师的最后一条记录,则显示为0,否则显示为1。在N2中输入=COUNTIF(K:K,K2),计算出该老师在数据源中共有几条记录。将M2和N2公式往下填充至末条记录。
3.3 主文档的域代码设计
使用邮件合并工具,选择文档类型为信函,选择数据源,在文档的表格第一行插入相应的合并域,按Alt+F9键,在主文档中显示域代码[2],如图4所示。
在主文档的第二行第一列,编辑域函数。使用“邮件”-“规则”-“下一条记录条件”命令(以Word2010为例),产生next if条件语句,判断数据源中的“序号”字段“等于”1,即判断是不是当前这位老师的最后一条记录,不是则继续下一条记录。Word中每读取一条记录后,会将该记录保存到变量中,next if条件成立后,才会改变变量的值。所以即使next if条件不成立时,变量中还会保存上一条记录值,所以在文档合并后还会显示上一条记录的内容。出现如图3的结果,最后一条记录会重复去填补空行的效果。
为了屏蔽这些重复的记录,需要通过if域函数嵌套seq域函数来判断当前老师的记录数是否走完。如图4所示,{seq dd}意义为插入一个序列号,seq后面可以为任意字符但须以字母开头,{seq dd\\c}中域开关“\\c”的作用是重复下一个序列号。在如图4表格的第二行seq域函数值为1,第三行值为2,依此类推。即通过手工输入代码if{MERGEFIELD 数量}>{seq dd}可以实现判断数据源中的“数量”字段是否大于seq域函数序列号,成立则显示相应的记录,否则单元格为空。将第二行代码复制至下面其它行。注意域函数中的大括号是按CTRL+F9,而不能通过键盘录入。
3.4 合成文档
完成上述操作后,单击“完成并合并”工具按钮,完成合并生成新文档。
4 结束语
[CM(20]在邮件合并中,灵活运用域,可以让邮件合并的
功能如虎添翼。本文中只使用了域其中的一部分功能,其它比如照片域[3]、数值域等等在邮件合并中也可能会用上,对图形图像、数值、文本等数据均能批量处理,对用户而言,节省了时间、减少了工作量、提高了效率。
参考文献
[1]张红艳,杨勇. 邮件合并中嵌套式Word域“If…Then…Else…”的运用[J]. 办公自动化,2010(4):36-38.
[2] 朱克武. Word邮件合并在VB编程中的应用 [J]. 计算机与现化化,2012(6):204-207,211.
[3] 孙传庆,李国芳,朱正平. 域INCLUDE PICTURE在Word 2003 邮件合并中的应用研究[J]. 自动化与仪器仪表,2011(2):20-21.