Как найти количество выделенных фрагментов текста в документе MS Word? - PullRequest
1 голос
/ 20 апреля 2010

Я пишу макрос в MS Word, который должен найти весь выделенный текст в документе и выполнить некоторые действия с каждым. Я планирую цикл для выполнения части поиска и манипуляции, и у меня нет проблем с этой частью кода.
Но я не знаю, как узнать, сколько итераций мне понадобится. Есть ли способ определить количество бликов в VBA?
Большое спасибо заранее.

1 Ответ

2 голосов
/ 20 апреля 2010
With ActiveDocument.Range.Find
  .Highlight = True
  While .Execute
    Debug.Print .Parent.Text
  Wend
End With

Нет необходимости предварительно рассчитывать количество совпадений. Вы можете выполнить поиск в цикле, и он остановится, когда совпадений больше не будет.

Убедитесь, что вы применили поиск к правой части документа. Я использовал ActiveDocument.Range, но подойдет любой объект Range. Может быть, что-то более конкретное лучше для вашего случая.

Кроме того, проверьте многие другие свойства объекта Find и установите для них разумные значения, это лучше, чем переходить к значениям по умолчанию (никто не может запомнить все значения по умолчанию для всех параметров, плюс объект Find может уже быть настроен каким-то более ранним поиском).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...