使用宏删除 MS Word 中的前导/尾随空格

使用宏删除 MS Word 中的前导/尾随空格

MS Word 中有一个很好的功能,当您选择整个文本并将其居中时,它会消除整个文档中的前导和尾随空格,然后返回到所需的对齐方式。

所以这(space)(space)(space)text text text(space)(space)应该导致text text text

当我手动单击快速访问工具栏或 Word 功能区上的中心图标时,这种方法屡试不爽。但每当我使用下面的代码通过宏自动管理时,这种方法就不起作用了。那些不需要的空格仍然存在。

Selection.WholeStory
Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter 'after this, there should be no leading/trailing spaces anymore
Selection.ParagraphFormat.Alignment = wdAlignParagraphJustify

你以前经历过这样的事吗?你能复制这样的结果吗?

答案1

检查此宏是否适合您。它的一个负面后果是,如果您希望句子之间有两个空格,它会消除它们。但是,如果您的文档通常在句子之间只使用一个空格,那么这个宏应该适合您。

Sub elimBlankSpaces()
    Dim rng As Word.Range
    Set rng = ActiveDocument.Content
    With rng.Find
        .ClearFormatting
        .Replacement.ClearFormatting
        .Text = " {2,}" 'look for 2 or more
        .Replacement.Text = "" 'replace with none
        .Forward = True
        .Wrap = Word.WdFindWrap.wdFindStop
        .Format = False
        .MatchWildcards = True
    End With
    rng.Find.Execute Replace:=Word.WdReplace.wdReplaceAll
    rng.Find.ClearFormatting
    rng.Find.Replacement.ClearFormatting
End Sub

相关内容