如何在文档末尾停止 Word 宏循环?

如何在文档末尾停止 Word 宏循环?

我有一大堆文档,其中的标题都是手动编号的。我将标题样式设置为自动编号,但现在我想删除手动编号。

所以我有以下宏(针对标题 2),它可以找到“标题 2”并删除手动数字,然后重复该操作。

问题是它不会在文档末尾停止。如何让宏在到达文档末尾时终止?

代码如下:

Sub FixHeading2()
'
' FixHeading2 Macro fixes he numbering for Heading 2
'
Selection.HomeKey Unit:=wdStory
    Selection.Find.Style = ActiveDocument.Styles("Heading 2")
Selection.Find.Execute
While Selection.Find.Found
    Selection.HomeKey Unit:=wdLine
    Selection.MoveRight Unit:=wdWord, Count:=3, Extend:=wdExtend
    Selection.Delete Unit:=wdCharacter, Count:=1
    Selection.Find.Execute
Wend
End Sub

答案1

您可能需要设置.Wrap属性.Find

...
Selection.Find.Style = ActiveDocument.Styles("Heading 2")
Selection.Find.Wrap = wdFindStop
...

Find.Wrap 属性:

返回或设置当搜索从文档开头以外的位置开始并到达文档结尾时发生的情况(如果 Forward 设置为 False,则反之亦然),或者在指定的选择或范围内未找到搜索文本时发生的情况。读/写 WdFindWrap。

这里

相关内容