Table of contents
本教程展示了在从Excel到Word进行邮件合并时,如何保持数字、日期、百分比和货币的格式,或根据自己的喜好进行更改。
在我们以前的一篇文章中,我们研究了如何从Excel到Word进行邮件合并,以发送个性化的信件或电子邮件。 结果发现,使用Word的邮件合并功能从Excel工作表自动创建一个文档可能会带来很多挑战。 一些字段可能没有被填入或填入错误的信息。 在Excel中正确格式化的数字可能不会正确出现在Zip码可能会丢失前导零。 下面的故障排除提示将帮助你解决典型的邮件合并格式化问题。
如何进行邮件合并并保持格式化
当从Excel工作表中执行邮件合并时,一些数字数据在通过合并后可能会失去格式。 这些问题通常发生在格式为百分比或货币的数字,或包含前导零的数字,如邮政编码。
原因 : 默认情况下,Microsoft Word使用OLE DB连接,它拉入信息但不拉入格式。 因此,在Word文档中,数据以Excel内部存储的格式出现,而不是以应用于单元格的格式。
为了说明问题,请看一下Excel工作表中的源数据格式。
现在,看看在Word邮件合并文档中会发生什么。
- 邮编 - 在Excel中,由于单元格有自定义的数字格式,如00000,所以会显示一个前导零。 在Word中,会显示一个基本值(2451)。
- 货币 - 在Excel中,数字的格式为货币($3,000.00)。 在Word中,数字的纯粹形式被显示为(3000)。
- 百分比 - 通常情况下,显示为与百分比相对应的小数;在某些情况下,显示为浮点数。 例如,在Excel中格式为百分比的30%在Word中可能显示为0.3或0.299999999。
- 日期 - 在我们的例子中,Excel的日期20-May-22在Word中被转换为5/20/2022,这是在你的区域设置中设置的默认格式。
解决方案 :为了使Word能够以正确的格式显示邮政编码、日期、价格、百分比和其他数值,请用以下方法连接到您的Excel工作簿上。 动态数据交换 (DDE)。
如何使用动态数据交换来连接到Excel表
在开始进行邮件合并之前,请在Microsoft Word中执行以下步骤。
- 转到 文件> 选项> 高级 .
- 向下滚动到 一般 部分,选择复选框 打开时确认文件格式转换 并点击 认可 .
- 像往常一样开始你的邮件合并(详细步骤见这里)。 当涉及到选择收件人时,选择 使用现有名单 .
- 浏览到你的电子表格,选择它,并点击 开放式 (或双击该文件)。
- 在 确认数据来源 在打开的对话框中,选中 显示所有 左下角的方框,然后选择 通过DDE的MS Excel工作表(*.xls)。 ,然后点击 认可 .
- 点击 整个电子表格 ,以及 认可 .
Word可能需要相当长的时间通过DDE连接到你的Excel数据源,所以请耐心等待,从长远来看,这将为你节省更多的时间 :)
提示:为防止每次打开数据文件时Word显示多个提示,请清除 打开时确认文件格式转换 连接到您的邮件列表后,请勾选。
现在,Word邮件合并文档中的所有数字值都保留了其原始格式。
如何格式化特定的邮件合并字段
通过DDE连接到Excel工作表是一次性解决所有格式问题的最快方法。 如果这个解决方案由于某种原因不适用于你,你可以通过在特定的合并字段中添加一个数字开关(以前称为图片开关)来控制Word中Excel数据的格式。
A 数字开关 是一种掩码,可以让你在Word文档中按你想要的方式格式化一个字段的内容。 要添加一个数字开关,请执行以下步骤。
- 选择你想改变格式的合并字段。 这可以是 日期 , 货币 , 百分比 或其他一些领域。
- 按Shift + F9显示所选字段的编码,或按Alt + F9显示文档中所有字段的编码。 一个通用的字段编码看起来像{ MERGEFIELD Name }。
- 在字段末尾添加一个数字开关代码。
- 当光标位于该字段的任何位置时,按F9键来更新它。
- 再按Shift + F9或Alt + F9来隐藏字段代码,然后预览结果。
下面的例子将让你了解一些典型的情况。
邮件合并:数字格式
为了让数字以正确的格式出现(与Excel文件中相同或不同),请使用以下数字开关代码。
数字开关 | 例子 | 描述 |
\# 0 | 3000 | 四舍五入的整数 |
\# ,0 | 3,000 | 带有千位分隔符的四舍五入的整数 |
\# ,0.00 | 3,000.00 | 有两个小数位和一个千位分隔符的数字 |
例如,如果要用千位分隔符格式化一个整数,可以使用数字开关 \# ,0,以便 数量 字段变更为。
{ MERGEFIELD Number# ,0 }
邮件合并:货币格式
要在邮件合并中格式化货币,这些是要使用的代码。
数字开关 | 例子 | 描述 |
\# $,0 | $3,000 | 四舍五入的整数美元,有一个千位分隔符 |
\# $,0.00 | $3,000.00 | 有两个小数位的美元和一个千位分隔符 |
\# "$,0.00;($,0.00);'-'" | ($3,000.00) | 美元,负数周围有括号,零值有连字符 |
例如,要在邮件合并中应用美元格式,请在 "货币 "字段中添加数字开关/# $,0。
{ MERGEFIELD Currency# $,0 }
因此,数字3000被格式化为3000美元,没有小数点后的位置。
提示:上面的例子是针对邮件合并的。 美元格式 你可以使用任何其他货币符号来代替美元符号($),如 € 或 £ .
邮件合并:百分比格式
你在Word邮件合并文档中格式化百分比的方式取决于源值在Excel表中的格式化方式。
如果 一般 或 数量 要将该数字格式化为百分比,请添加以下数字开关之一。
数字开关 | Excel值 | 字值 | 描述 |
\# 0.00% | 30 | 30.00% | 将一个数字转换成有两位小数的百分数 |
\# 0% | 30 | 30% | 将一个数字转换成四舍五入的整数百分比 |
例如,要将一个数字的格式化为整数百分比,请编辑 百分比 领域,具体如下。
{ MERGEFIELD Percent# 0% }
因此,数字50被格式化为50%。
如果百分比格式应用于Excel单元格,Word将显示百分比格式背后的实际数值,即小数。 例如,Excel的数值为50%,在Word中会显示为0.5。 要将其转换为百分比,需要先将小数乘以100,然后使用适当的数字开关。 以下是详细步骤。
- 选择你想格式化为百分比的合并字段,如 "百分比"。 注意,引号应包括在选择中。
- 按Ctrl + F9将所选字段包裹在另一个字段中,像这样: { "百分比" }
- 编辑该字段,使你得到以下之一。
- 四舍五入的整数百分比:{="百分比 "*100\# 0%}
- 有两位小数的百分比: {="百分比 "*100 (# 0.00%)}
- 将光标放在该字段的任何地方,按F9键更新。
注意:一个包含公式的合并字段会显示一个值,而不是字段名,即使不在预览模式下也是如此。 不要担心,这是一个正常的行为。 为了确保该值不是静态的,点击箭头在 预览结果 要查看字段代码,选择数值并同时按下Shift + F9键。 如果所有操作正确,你会看到像这样的东西。
{ ={MERGEFIELD Percent }*100 (0%) }
邮件合并:日期和时间格式
与数字和货币一样,你可以通过使用数字开关来改变邮件合并中的日期格式。 下表列出了几个常用的日期/时间格式的代码。
数字开关 | 例子 |
\@ "M/d/yyyy" | 5/20/2022 |
\@"d-MMM-yy"}。 | 5月20日-22日 |
\"d MMMM yyy"}。 | 2014年5月20日 |
\@ "ddd, d MMMM yyyy" | 2022年5月20日,星期五 |
\@ "dddd, d MMMM yyyy" | 2022年5月20日,星期五 |
\@"dddd, MMMM dd, yyyy" | 2022年5月20日,星期五 |
\@ "h:mm AM/PM" | 10:45 PM |
\"hh:mm" | 10:45 |
\@ "hh:mm:ss" | 10:45:32 |
例如,要应用一个 完整日期 格式,以这种方式改变日期合并字段的格式。
{ MERGEFIELD Date@ "dddd, MMMM dd, yyyy" }
提示和说明。
- 在日期/时间数字开关中,大写字母 M 用于月,小写 m 为分钟。
- 除了上面列出的代码外,你可以使用任何其他的自定义日期和时间格式。
如何在Word邮件合并中改变当前日期和时间的格式
要在邮件合并文件中插入今天的日期和当前时间,你可以使用以下快捷键。
- Alt + Shift + D - 插入显示当前日期的DATE字段。
- Alt + Shift + T - 插入显示当前时间的时间字段。
这将添加默认格式的日期和时间。 要改变它,你可以使用上述的数字开关。 或者你可以以可视化的方式应用所需的日期/时间格式。
- 选择 日期 或 时间 你想改变的格式的字段。
- 按Shift + F9显示字段编码,可能看起来像{ DATE\@ "M/d/yyyy" }。
- 右键单击所选字段,选择 编辑字段... 从上下文菜单中选择。
- 在 归档 对话框,选择所需的格式为 日期 领域,并点击 认可 .
提示:如果你想 在更新过程中保留格式化 ,选择右下角的相应复选框。
如何避免在邮件合并中丢失前导零点
在所有的数字值中,前导零在邮件合并过程中会被删除。 为了使邮政编码和其他数字在通过邮件合并时不会丢失零,它们应该被格式化为 文本 .
要做到这一点,选择有数字的一栏,并选择 文本 在 数字格式 上的方框。 首页 标签。
或者,你可以右键单击所选列,然后单击 格式化单元格... 在 格式化单元格 打开的对话框中,在 数量 标签,选择 文本 ,然后点击 认可 .
重要提示!如果 特别 (如Zip code)或自定义(如00000)格式应用于你的Excel单元格,将其改为 文本 格式化单元格后,会导致前导零的消失。 将单元格格式化为 文本 为了避免这项艰巨的任务,你可以通过DDE连接到你的Excel工作表。 这将保留原始的Excel数字格式,包括前面的零点。
这就是如何解决邮件合并的格式问题,并按照你想要的方式格式化字段。 谢谢你的阅读!