很长久的一段时间,HRJJ经常被word中一些关于邮件合并的问题困扰。在帮助HRJJ解决这些问题同时,自己积累了一些这些方面的小技巧和经验,整理如下:
1. 修改插入域的格式:
在域代码编辑状态下,修改域代码的字体大小等格式,之后在域代码中写入{MERGEFIELD"name" * charformat}
2. 修改数据源的格式:
小数 {MERGEFIELD "number" # 0.00}
货币 {MERGEFIELD "number" # ¥###,##0.00}
电话 {MERGEFIELD "phone" # ###'-'####'-'####}
日期 {MERGEFIELD"date"@YYYY年MM月DD日},备注:M必须是大写的,得出结果为小写"2007年10月29日"
日期 {MERGEFIELD "date"@EEEE年O月A日},备注:得出结果为大写"二〇〇七年十月二十九日"
百分比 {={MERGEFIELD "number"}*100 #0.00%},备注:在域中再执行一次插入域,比较变态,目前还没有找到更好的办法
3.含有选择条件的邮件合并:
例如数据源如下:(Birthdate必须为可识别的日期格式)
Name Birthdate
Lili 4/16/2007
xo 2007-1-29
Yu Mar.15,2006
显示生日在4月份的人的名字和生日:
{if {MERGEFIELD Birthdate @ "MMMM"}="April" "{MERGEFIELD Name}{MERGEFIELD Birthdate}"}
{if {MERGEFIELD Birthdate @ "M"}="4" "{MERGEFIELD Name}{MERGEFIELD Birthdate}"}
评论:MS在KB中还看到多条件查询 的,对于大批量数据的复杂筛选,推荐直接对数据源进行处理,不推荐这种方法。
4. 此外,一些快捷建和傻瓜提示
Alt+F9 域代码编辑快速切换
Ctrl+F9 快速插入域,需要自己写入域代码
域代码修改后,需要在预览中点预览下一条记录,才可看到更新后的结果
域代码中"0"和"#"的区别,0不足位补0,#不足位补空格
以上为个人经验,如有错误,欢迎指正。