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