MSWord 'replacewith: = "" не "удаляя" - PullRequest
       13

MSWord 'replacewith: = "" не "удаляя"

0 голосов
/ 28 февраля 2020

Текст документа содержит AB C (красным шрифтом)

Я хочу заменить AB C, иногда другим текстом, иногда текстом 'no' (ноль).

Вот мой код:

Set MYRANGE = Selection.Range
MYRANGE.WholeStory
MYRANGE.Find.Replacement.Font.Color = wdAuto
IsTrue = MYRANGE.Find.Execute(FindText:="ABC", replacewith:="XYZ", Format:=True, Replace:=wdReplaceAll, MatchCase:=True)

Конечная цель - заменить фактический текст 'replacewith' на 'black' (мой цвет wdauto), но, если replacewith = "", удалить его.

С указанным выше кодом и AB C (красным) в документе текст должным образом заменяется на XYZ (черный)

Но если replacewith: = "", замена завершится неудачно. «AB C» остается в документе.

Удалите «MYRANGE.Find.Replacement.Font.Color = wdAuto» и замена работает.

Или оставьте строку выше и:

If Format:=False, and Replacewith:="", then ABC disappears. Proper result.
If Format:=False, and replacewith:="XYZ", then ABC(red) changes to XYZ(red). (Bad result.)

Почему не работает нулевой запрос на замену? Что будет?

...