Регулярное выражение заменяет основное содержимое

#regex #vba #ms-word

#регулярное выражение #vba #ms-word

Вопрос:

Я попытался следующим образом заменить все текстовое содержимое в текущем открытом документе числовым нулем, но это не сработало

 Set objWdDoc = Word.Application.ActiveDocument

Set objWdRange = objWdDoc.Content

Dim re As New RegExp

re.Global = True
re.Pattern = "[a-z]"
re.IgnoreCase = True
objWdRange = re.Replace(objWdRange, "0")
  

Кто-нибудь может предложить рабочий метод?

Ответ №1:

Предполагая, что вы ссылались на регулярные выражения Microsoft vbscript

 objWdRange.Text = re.Replace(objWdRange, "0")
  

Будет работать, хотя вы, конечно, потеряете любое форматирование.

Вы также можете использовать встроенный поиск / замену, который имеет ограниченную поддержку, для поиска цифр / символов. Запишите макрос, в котором вы это делаете, и сможете изучить код.