默认情况下使用En Dash(Microsoft Word)
Phil遵循的样式指南规定,当指示数字范围(例如1-9或23-36)时,应使用短划线而不是连字符。菲尔想知道是否有一种方法可以强制Word自动执行此操作。
您可以通过两种方式将破折号放在数字范围之间。 “自动”方式(就Word而言)是用空格包围连字符。换句话说,假设您的范围约为23至45。您所要做的就是键入23,空格,连字符,空格,然后键入45。在“ 45”之后键入空格或标点符号的那一刻,连字符会自动转换为短划线。
使用此方法虽然方便,但在破折号之前和之后留有空格,这可能会违反您的样式指南。如果是这样,您始终可以使用“查找和替换”来消除破折号前后的任何空格。或者,您可以简单地绕过自动方法,学习键入自己的破折号。最简单的方法是简单地按Ctrl,然后按数字键盘上的减号键。 (必须在数字小键盘上。)Word插入行破折号。
您还可以使用Word的“查找和替换”工具将所有连字符更改为破折号。方法如下:
。按Ctrl + H。 Word将显示“查找和替换”对话框的“替换”选项卡。
。单击更多按钮(如果有)。 (请参见图1。)
。确保选中“使用通配符”复选框。
。在“查找内容”框中输入以下内容:([0-9])-([0-9])。在“替换为”框中输入以下内容:\ 1 ^ = \ 2。单击全部替换。
这些步骤将任何数字替换为连字符,然后将另一个数字替换为原始数字,然后是一个破折号和一个原始数字。不幸的是,如果连字符前面或后面有空格,它将不会执行替换。如果您的文字中包含此类错误的空格,则需要先消除它们,然后上述内容才能正常运行。
或者,您可以使用一个宏,它将为您完成“查找和替换”的所有排列。下面的宏实际上调用查找和替换七次,其结果是,包含连字符或破折号的任何排列(由单个空格包围)的任何范围都将转换为单个破折号周围的数字。
Sub FixNumberRanges() Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "([0-9])-([0-9])" .Replacement.Text = "\1^=\2" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = True .MatchSoundsLike = False .MatchAllWordForms = False .Execute Replace:=wdReplaceAll .Text = "([0-9]) -([0-9])" .Execute Replace:=wdReplaceAll .Text = "([0-9])- ([0-9])" .Execute Replace:=wdReplaceAll .Text = "([0-9]) - ([0-9])" .Execute Replace:=wdReplaceAll .Text = "([0-9]) ^=([0-9])" .Execute Replace:=wdReplaceAll .Text = "([0-9])^= ([0-9])" .Execute Replace:=wdReplaceAll .Text = "([0-9]) ^= ([0-9])" .Execute Replace:=wdReplaceAll End With End Sub
注意:
如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)上描述的宏,我准备了一个包含有用信息的特殊页面。
_WordTips_是您进行经济有效的Microsoft Word培训的来源。
(Microsoft Word是世界上最流行的文字处理软件。)本技巧(5133)适用于Microsoft Word 2007、2010、2013和2016。