Кажется, есть проблема при попытке получить различные типы символов кавычек при замене текста:
With ActiveDocument.Content.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = "\{QUOTE:(*):QUOTE\}"
.Replacement.Text = Chr(147) & "\1" & Chr(148)
.Forward = True
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
.Execute Replace:=wdReplaceAll
End With
Когда документ содержит: {QUOTE: abc: QUOTE}
код дает: «abc»
но ожидаемый результат: «abc»
Версии Word: «Microsoft Office профессиональный плюс 2013» и «Microsoft Office 365 ProPlus».
Проблема не возникает, если не активирован Файл-> Параметры-> Проверка → Параметры автозамены-> Автоформат по мере ввода-> Заменить при вводе -> «Прямые кавычки» с «умными кавычками» не активированы. Конечно, я хочу, чтобы макрос работал независимо от настроек ручного ввода.
Как изменить код для получения ожидаемого результата?