在Word中使用邮件合并可以批量调用Excel工作簿中的内容,十分方便。但有时Excel单元格中的数值设置的是两位小数,而通过邮件合并后在Word中却显示为12位小数,例如下图中的数值:
出现这种情况,可以用下面的几种方法来解决:
方法一:使用动态数据交换(DDE)连接到Excel工作表
Word 2003:
1.单击菜单“工具→选项→常规”,在“常规选项”下勾选“打开时确认转换”,单击“确定”后再重新进行邮件合并。
2.在“邮件合并”工具栏中单击第二个按钮“打开数据源”,选择所需的Excel工作簿文件,Word会弹出“确认数据源”的对话框,选择“MS Excel 工作簿通过 DDE (*.xls)”,单击“确定”。
在随后出现的对话框中单击“确定”。
3.在“邮件合并”工具栏中单击“插入域”按钮插入所需的数值,这时所显示的数值就不会是多位小数了。
Word 2007:
单击“Office按钮→Word选项→高级”,在“常规”下勾选“打开时确认文件格式转换”,单击“确定”。
然后再进行邮件合并操作,具体方法不再赘述。
方法二:修改域代码
1.打开已进行邮件合并的Word文档,按快捷键Alt+F9,将数值被转换成域代码,在域代码上单击可以看到类似下面的代码:
{ MERGEFIELD "应收款" }
如果是Word 2007,则域代码中没有英文双引号。
2.如果要将数值保留两位小数,则在域代码后加入下列代码:
\#0.00
此时域代码被修改为:
{ MERGEFIELD "应收款" \#0.00 }
3.按Alt+F9,将域代码转换为数值。注意在没有单击“邮件合并”工具栏中的“上一记录”或“下一记录”按钮前,所显示的小数仍然是12位的,单击“上一记录”或“下一记录”按钮,数值就会显示为两位小数。
如果要保留3为小数,则将域代码改成:
{ MERGEFIELD "应收款" \#0.000 }
如果要将数值显示为“¥193137.25”的样式,则改为:
{ MERGEFIELD "应收款" \#¥0.00 }
方法三:修改Excel工作表
在Excel中将所需的数值用下列公式代替,在Word中进行邮件合并后就会按所设置的小数位数显示。例如要显示两位小数,数值在E2:E20区域中,将邮件合并所需的数值放到D2:D20区域,在D2单元格中输入公式:
=TEXT(E2, "0.00")
拖动填充柄到D3:D20区域,然后再进行邮件合并。保留3位小数就用下面的公式:
=TEXT(E2, "0.000")