当您在文档中输入日期时,Word会自动在月份和月份之间自动插入一个不间断的空格。因此,“ 1月22日”在“ y”和“ 2”之间将有一个不间断的空格。这样,月和日将始终一起显示在同一行上。

不幸的是,Word默认情况下不会执行此操作。这意味着您可以使用几种不同的方式来使用Word的内置工具来解决这种情况。

第一种可能的解决方案是尝试使用Word的自动更正功能。

但是,此功能不太适合执行此任务。为什么?

因为“自动更正”仅在Word图形之后才插入,所以在您键入一个单词后,换句话说,当您在单词或其他终止字符(例如标点符号)后面键入空格时。因此,如果您想将“ January”替换为“ January”,并在其后插入一个不间断的空格,则实际上在该单词之后将以两个空格结束—替换文本中的不间断空格和您在当然,打字。

这将我们带入下一个潜在的解决方案-积木。该解决方案实际上可以很好地工作,但是在键入日期方面需要一些差异。最好的解决方案是创建12个构建基块,每个构建基块以12个月的三个字符的名称保存。

因此,“ jan”的条目将是“ January”,后跟一个不间断的空格。

为什么使用三个字符而不是更多?因为Word具有另一个称为“自动完成”的功能。如果“自动完成”处于打开状态(默认情况下处于打开状态),则Word会尝试“猜测”您所键入的内容并建议其余单词或短语。它会针对日期自动执行此操作,但是直到您键入一个月内的五个字符以上的第四个字符后,它才会生效。因此,当您键入“ Janu”时,Word会建议“ January”作为补全,但是当您键入“ Marc”时,Word不会建议“ March”作为补全。

如果您在月份和不间断空格的组合中使用三个字符,则可以键入“ Jan”并按F3键,从而得到所需的组合,而没有多余的空格。当然,键入方式的变化是您必须记住只键入三个字符,然后按F3键。

如果您不想记住键入方式的此类更改,则可以轻松创建一个宏,该宏将遍历文档,并将月份名称后的所有空格替换为不间断的空格。以下内容非常方便:

Sub MonthsWithNonBreakingSpaces()

Dim sMonth As String     Dim iMonth As Integer

Selection.HomeKey unit:=wdStory     For iMonth = 1 To 12         With Selection.Find             .ClearFormatting             .Text = "(" & MonthName(iMonth, False) & ")( )([0-9])"

.MatchWildcards = True             With .Replacement                 .ClearFormatting                 .Text = "\1^s\3"

End With             .Execute Replace:=wdReplaceAll         End With     Next iMonth End Sub

注意:

如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)上描述的宏,我准备了一个包含有用信息的特殊页面。

_WordTips_是您进行经济有效的Microsoft Word培训的来源。

(Microsoft Word是世界上最流行的文字处理软件。)此技巧(11186)适用于Microsoft Word 2007、2010、2013和2016。您可以在这里找到适用于Word较旧菜单界面的该技巧的版本: