如何在MS Word文档中找到突出显示的文本块数

时间:2010-04-20 18:20:56

标签: vba ms-word

我正在MS Word中编写一个宏,它应该找到文档中所有突出显示的文本,并对每个文本执行一些操作。我正在计划一个循环来执行搜索和操作部分,并且对这部分代码没有任何问题 但我不知道如何找到我需要的迭代次数。有没有办法确定VBA中的高光数量?
非常感谢提前。

1 个答案:

答案 0 :(得分:2)

With ActiveDocument.Range.Find
  .Highlight = True
  While .Execute
    Debug.Print .Parent.Text
  Wend
End With

无需预先计算比赛次数。您可以循环执行搜索,一旦没有更多匹配就会停止。

确保将搜索应用于文档的右侧部分。我使用ActiveDocument.Range,但任何Range对象都可以。也许更具体的东西对你的情况更好。

另外,查看Find对象的许多其他属性并将它们设置为合理的值,这比使用默认值更好(没有人能记住所有选项的所有默认值,加上{{1}某些早期的搜索可能已经设置了对象。)