如何解决Word中邮件合并的格式问题

  • Share This
Michael Brown

本教程展示了在从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中执行以下步骤。

    1. 转到 文件> 选项> 高级 .
    2. 向下滚动到 一般 部分,选择复选框 打开时确认文件格式转换 并点击 认可 .
    3. 像往常一样开始你的邮件合并(详细步骤见这里)。 当涉及到选择收件人时,选择 使用现有名单 .
    4. 浏览到你的电子表格,选择它,并点击 开放式 (或双击该文件)。
    5. 确认数据来源 在打开的对话框中,选中 显示所有 左下角的方框,然后选择 通过DDE的MS Excel工作表(*.xls)。 ,然后点击 认可 .
    6. 点击 整个电子表格 ,以及 认可 .

    Word可能需要相当长的时间通过DDE连接到你的Excel数据源,所以请耐心等待,从长远来看,这将为你节省更多的时间 :)

    提示:为防止每次打开数据文件时Word显示多个提示,请清除 打开时确认文件格式转换 连接到您的邮件列表后,请勾选。

    现在,Word邮件合并文档中的所有数字值都保留了其原始格式。

    如何格式化特定的邮件合并字段

    通过DDE连接到Excel工作表是一次性解决所有格式问题的最快方法。 如果这个解决方案由于某种原因不适用于你,你可以通过在特定的合并字段中添加一个数字开关(以前称为图片开关)来控制Word中Excel数据的格式。

    A 数字开关 是一种掩码,可以让你在Word文档中按你想要的方式格式化一个字段的内容。 要添加一个数字开关,请执行以下步骤。

    1. 选择你想改变格式的合并字段。 这可以是 日期 , 货币 , 百分比 或其他一些领域。
    2. 按Shift + F9显示所选字段的编码,或按Alt + F9显示文档中所有字段的编码。 一个通用的字段编码看起来像{ MERGEFIELD Name }。
    3. 在字段末尾添加一个数字开关代码。
    4. 当光标位于该字段的任何位置时,按F9键来更新它。
    5. 再按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,然后使用适当的数字开关。 以下是详细步骤。

    1. 选择你想格式化为百分比的合并字段,如 "百分比"。 注意,引号应包括在选择中。
    2. 按Ctrl + F9将所选字段包裹在另一个字段中,像这样: { "百分比" }
    3. 编辑该字段,使你得到以下之一。
      • 四舍五入的整数百分比:{="百分比 "*100\# 0%}
      • 有两位小数的百分比: {="百分比 "*100 (# 0.00%)}
    4. 将光标放在该字段的任何地方,按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 - 插入显示当前时间的时间字段。

    这将添加默认格式的日期和时间。 要改变它,你可以使用上述的数字开关。 或者你可以以可视化的方式应用所需的日期/时间格式。

    1. 选择 日期 时间 你想改变的格式的字段。
    2. 按Shift + F9显示字段编码,可能看起来像{ DATE\@ "M/d/yyyy" }。
    3. 右键单击所选字段,选择 编辑字段... 从上下文菜单中选择。
    4. 归档 对话框,选择所需的格式为 日期 领域,并点击 认可 .

      提示:如果你想 在更新过程中保留格式化 ,选择右下角的相应复选框。

    如何避免在邮件合并中丢失前导零点

    在所有的数字值中,前导零在邮件合并过程中会被删除。 为了使邮政编码和其他数字在通过邮件合并时不会丢失零,它们应该被格式化为 文本 .

    要做到这一点,选择有数字的一栏,并选择 文本 数字格式 上的方框。 首页 标签。

    或者,你可以右键单击所选列,然后单击 格式化单元格... 格式化单元格 打开的对话框中,在 数量 标签,选择 文本 ,然后点击 认可 .

    重要提示!如果 特别 (如Zip code)或自定义(如00000)格式应用于你的Excel单元格,将其改为 文本 格式化单元格后,会导致前导零的消失。 将单元格格式化为 文本 为了避免这项艰巨的任务,你可以通过DDE连接到你的Excel工作表。 这将保留原始的Excel数字格式,包括前面的零点。

    这就是如何解决邮件合并的格式问题,并按照你想要的方式格式化字段。 谢谢你的阅读!

    Michael Brown is a dedicated technology enthusiast with a passion for simplifying complex processes using software tools. With more than a decade of experience in the tech industry, he has honed his skills in Microsoft Excel and Outlook, as well as Google Sheets and Docs. Michael's blog is dedicated to sharing his knowledge and expertise with others, providing easy-to-follow tips and tutorials for improving productivity and efficiency. Whether you're a seasoned professional or a beginner, Michael's blog offers valuable insights and practical advice for getting the most out of these essential software tools.