Можно ли использовать шаблоны замещения с RegExp
объектами в Word VBA? Могу ли я найти документ для шаблона с кучей круглых скобок и заменить его чем-то вроде \4 \2
? (Я попробовал, но использовал литеральную строку.)Regex заменяет макросы Word
ответ
См. this answer для получения информации о RegEx с VBA. Хотя этот конкретный ответ был написан специально для Excel VBA, он все равно будет применяться к слову.
В примере кода, он устанавливает MyRange = ActiveSheet.Range("A1")
вместо этого вы могли бы сделать, Set MyRange = ActiveDocument.Range(Start:=0, End:=Selection.End)
и заменить MyRange.Value
с MyRange.Text
Существующие ответы являются мощным инструментом. Иногда полезно взглянуть на код Excel VBA для всех других приложений Microsoft, поскольку Excel - это инструмент, который имеет для него код, написанный для него.
Word, сам по себе, не поддерживает RegEx. Он имеет свои собственные функции Wildcard. Это похоже на RegEx, но не идентично. Вы можете увидеть возможности, нажав «Дополнительно» в диалоговом окне «Заменить» (Ctrl + H), активировав флажок «Подстановочный знак», а затем просмотрев список в «Специальный». Если вы ищете в Интернете набор таких терминов, как Word Find Replace Wildcard, вы найдете множество примеров и обсуждений.
Подход, предложенный JDB_Dragon, обычно часто не является удовлетворительным в Word, потому что манипулирование только строкой, а затем запись ее обратно в документ теряет все форматирование.
Word не делает, но VBA в Word делает. Вот почему я указал объекты RegExp. – Frungi
Нет, у VBA нет RegEx. Вы можете добавить ссылку на библиотеку, которая предоставляет RegEx для вашего кода VBA, но это не является частью VBA. И если вы распространяете свой код, вам нужно убедиться, что на целевом компьютере есть эта библиотека, иначе ваш код не может работать. И, как я уже сказал, если сохранение или применение форматирования Word необходимо, RegEx не будет/не сможет работать. –
О, моя ошибка; Я подумал, что если я смогу использовать его в VBA после отметки окна, он должен быть частью VBA (и я подумал, что было бы ясно, о чем я говорил, когда впервые упомянул об этом). И нет, форматирование не имеет отношения к моему делу. – Frungi
- 1. SpannableStringBuilder заменяет содержимое Regex
- 2. Загрузка файла Corrupts Word Макросы
- 3. RegEx заменяет собой расчеты?
- 4. RegEx заменяет пробелы слешем
- 5. Новичок Regex: Multiple Заменяет
- 6. Как отключить макросы в Office Word 2003?
- 7. Потерянные макросы в шаблоне Microsoft Word Global
- 8. Как вызвать макросы Word из Excel
- 9. Как развернуть макросы Word 2010 для других?
- 10. Perl-файл regex не заменяет текст
- 11. Regex заменяет несколько абзацев (.Net)
- 12. Номер заменяет шаблон с RegEx
- 13. Regex заменить не заменяет следующий
- 14. PHP заменяет переменные в документе Word
- 15. 150 Word Count Regex
- 16. regex word limits
- 17. Perl regex word matching
- 18. Php regex word lookahead
- 19. PostgreSQL Regex Word Boundaries?
- 20. Word regex issue
- 21. python regex: skip word
- 22. Regex: space + word
- 23. Regex Java word context
- 24. Regex multi word search
- 25. RegEx skip word
- 26. Java Regex Word Boundaries
- 27. Regex wrapping word
- 28. Соответствует разному Word Regex
- 29. Javascript Regex Catch Word
- 30. Regex Pattern for form field "- word word"
Я думаю, что «Пример 4» в [этом ответе] (http://stackoverflow.com/a/22542835/1015293) соответствует тем, что я ищу, не так ли? Спасибо, я попробую. – Frungi