Microsoft Office Online
登录我的 Office Online (这是什么?) | 登录

 
 
Microsoft Office Word
搜索
搜索
 
检查更新:(c) Microsoft
Office 下载
 
 
 
警告: 您在使用不受支持的 Web 浏览器查看此页。使用 Microsoft Internet Explorer 6.0 或更高版本、Firefox 1.5 或 Netscape Navigator 8.0 或更高版本查看此网站效果最好。 了解有关支持的浏览器的详细信息。

打印版打印版 书签和共享共享
答案框:数字在 Word 中没有合并正确
 
答案框

作者:Connie Miller

您的邮件合并看来一切正常,但是您突然发现在合并的文档中价格、日期和其他数字看起来不对劲。请继续阅读本文,了解如何避免这种代价特别高昂的问题。



适用于
Microsoft Office Word 2003
Microsoft Word 2002
Microsoft Office Excel 2003
Microsoft Excel 2002

您提出的问题

我的数据在 Excel 工作表中。在我进行邮件合并时,“价格”列中的价格没有保留正确的货币格式。快帮忙!

答案框 的建议

像没有正确合并数字之类令人沮丧的小事可能搞砸整个邮件合并项目。

幸运的是,您可以用几种不同的方法使任何数字 — 货币、百分比、日期、以零开头的邮政编码 — 按您需要的方式呈现。下表列出了这些方法,并给出了关于何时使用它们的建议。在表后面,您将看到关于每种方法如何起作用的更多细节。

方法 建议

使用动态数据交换 (DDE) 连接到 Excel 工作表

  • 听起来很难很复杂,但实际不是
  • 可能是最巧妙的方法
  • 如果要合并到文档的电子表格已经存在并且其中有许多数字,则绝对是最好的方法

在 Word 中使用域代码

  • 远比听起来要容易
  • 如果要合并工作表只有一两个数字列(如价格或日期),则是非常好的方法
  • 如果要多了解一下域在邮件合并中如何起作用,则是极好的办法

把包含数字的 Excel 工作表单元格的格式设置为文本

  • 如果您创建新工作表用于合并,并且不会使用工作表包含的数字进行任何计算,则是好方法

使用动态数据交换

动态数据交换 (DDE) 是在 Microsoft Windows® 操作系统中可用的方法,用于在两个应用程序之间传输数据。它使用共享内存交换数据。如果您使用其他数据传输方法,会遇到问题:工作表中的数据在传输时使用 Excel 存储它所用的本机格式,而不是您在工作表单元格中应用的格式。

要在邮件合并期间连接到 Excel 工作表时选择 DDE 数据传输方法,您要做的无非是在 Word 中选择一个复选框:

  1. “工具”菜单上,单击“选项”,然后单击“常规”选项卡。
  2. 单击“打开时确认转换”

在邮件合并过程中进行到连接数据文件这一步时,当您找到要连接的 Excel 工作表后,“确认数据源”对话框会打开。单击“MS Excel 工作簿通过 DDE (*.xls)”,然后单击“确定”。在“Microsoft Excel”对话框中,对于“请指定命名单元格或单元格区域”,选择包含要合并的信息的单元格区域或工作表,然后单击“确定”。现在来自 Excel 电子表格的数字在合并文档中看起来就和在工作表单元格中完全一样。

 注释    在完成邮件合并后,关闭“打开时确认转换”选项可能是个好主意。否则在您根本不想考虑确认数据源时,可能会被提示确认。

在 Word 中使用域代码

因为 DDE 方法实在太巧妙,所以您可能受其诱惑,读到这里就停了。但继续下去还是值得的,因为学一点关于域代码的知识可以使您在更大程度上控制总体的邮件合并结果。

使用域代码设置货币和其他数字的格式

让我们从一个示例开始。假设您把“价格”域插入为邮件合并而准备的套用信函中。在主文档中,看上去就类似这样(其中 «Price» 是域):

您订购的零件价格为 «Price»。

按 Alt+F9,您将看到域背后的代码。代码看起来类似这样:

您订购的零件价格为 { MERGEFIELD "Price" }。

只要在括号中再键入几个字符(即添加格式开关)就可以控制该域中价格的格式。

如果要包含:

  • 一个美元符号
  • 默认情况下是四位数字,如果合并的数字只有三位就加一个空格
  • 两个小数位
  • 第一个和第二个数字之间有一个逗号

这就是您要在域代码中键入的内容(以粗体显示):

{ MERGEFIELD "Price" \# $#,###.00 }

键入结束后,按 Alt+F9 停止查看域代码。现在当您合并时,所有价格都会使用您需要的格式。(可对除价格之外的数字使用与此相同的方法。)

这里是我们刚才使用的开关中元素的细致分类:

带有开关的 Word 合并域

  1. 插入主文档中的域的名称。它对应 Excel 工作表中的一个列。
  2. 反斜杠,它表示格式开关开始。
  3. 开关的定义 — 在此示例中是设置数字的格式。
  4. 要包含的字符 — 例如在每个价格前出现的 $
  5. 最大位数。如果一个数字的位数较少,Word 会留出空白。在数字中您希望它们出现的地方键入逗号。
  6. 小数点,在您希望它出现的地方键入。用零指定小数点后的位数。如果小数位较少,Word 会加上零。

在“请参阅”框中,您将找到链接(称为“数字图片域开关”),指向关于使用开关设置数字格式的详细信息。

使用域代码设置日期格式

您也可使用格式开关使来自电子表格中“日期”列的日期在合并的文档中按您需要的方式显示。如果将“日期”域插入主文档然后按 Alt+F9,您会看到:

{ MERGEFIELD "Date" }

要使合并文档中的所有日期都使用 February 18, 2008 这样的格式(无论日期在工作表单元格中的格式是怎样),您可以向域代码添加此格式开关(粗体显示):

{ MERGEFIELD "Date" \@ "MMMM d, yyyy" }

在“请参阅”框中,您将找到链接(称为“日期-时间图片域开关”),指向关于使用开关设置日期格式的详细信息。

在 Excel 工作表中设置单元格的格式

如果您创建新 Excel 工作表以用于邮件合并项目,那么此方法可能最合适。在某些方面,它是最直截了当的方法,因为您可以在工作表中将日期、百分比和其他数字设置为合并后希望在 Word 中看到的样子。每次合并时,它们都会那样显示。

当包含数字的单元格在 Excel 工作表中被设置为“数值”、“货币”、“日期”、“百分比”等格式时,邮件合并中就会出现数字格式问题。使数字在合并时表现正常的解决方法是把包含数字的单元格设置为“文本”格式。当单元格被设置为“文本”格式时,您就可以在单元格中按您希望的样子键入数字(带美元符号、零等)。然后它们会按您键入的样子合并。

  1. 要在 Excel 中设置单元格格式,选择包含要设置的单元格的列。
  2. “格式”菜单上,单击“单元格”,然后单击“数字”选项卡。
  3. “分类”下,单击“文本”

关于以零开头的邮政编码的提示

为了让首位数为零的邮政编码正确合并,您实际上不必把包含邮政编码的单元格设置为“文本”格式。当您在单元格中键入邮政编码时,只要在首位数零前面键入一个撇号即可。撇号不会出现在单元格中。它只会使零显示出来。

祝您合并愉快

Connie,答案框 监管员

关于作者

Connie Miller 是 Microsoft Office 用户辅助小组的撰稿人,他收集并答复引起 Word 答案框 注意的问题。要提交您自己的详细问题(我们也许能答复),请发送反馈

广告