我正在MS Word中编写一个宏,它应该找到文档中所有突出显示的文本,并对每个文本执行一些操作。我正在计划一个循环来执行搜索和操作部分,并且对这部分代码没有任何问题
但我不知道如何找到我需要的迭代次数。有没有办法确定VBA中的高光数量?
非常感谢提前。
答案 0 :(得分:2)
With ActiveDocument.Range.Find
.Highlight = True
While .Execute
Debug.Print .Parent.Text
Wend
End With
无需预先计算比赛次数。您可以循环执行搜索,一旦没有更多匹配就会停止。
确保将搜索应用于文档的右侧部分。我使用ActiveDocument.Range
,但任何Range
对象都可以。也许更具体的东西对你的情况更好。
另外,查看Find
对象的许多其他属性并将它们设置为合理的值,这比使用默认值更好(没有人能记住所有选项的所有默认值,加上{{1}某些早期的搜索可能已经设置了对象。)