Код VBA для поиска и выделения комбинации символов

Я ищу код VBA в Word, чтобы выделить любое предложение с точкой вне кавычек. т.е. в тексте «Привет, слово». я хочу, чтобы "и." выделялись при запуске макроса.

@il_raffa .. У меня есть код для выделения слов, которые я не хочу видеть в письме. Понятия не имею, как вставить в него символы.

    Sub HighlightTargets2()

    Dim range As range
   Dim i As Long
   Dim TargetList

   TargetList = Array("I", "We", "our", "discusses about", "we", "asserts")
   For i = 0 To UBound(TargetList)

   Set range = ActiveDocument.range

   With range.Find
   .Text = TargetList(i)
   .Format = True
   .MatchCase = False
   .MatchWholeWord = True
   .MatchWildcards = True
   .MatchSoundsLike = False
   .MatchAllWordForms = False

   Do While .Execute(Forward:=True) = True
   range.HighlightColorIndex = wdYellow

   Loop

   End With
   Next

   End Sub

person Ishwarya    schedule 27.10.2015    source источник
comment
Вы пытались это сделать?   -  person il_raffa    schedule 27.10.2015
comment
@il_raffa .. У меня есть код, чтобы выделить слово, которое я не хочу видеть в письме. Вот:   -  person Ishwarya    schedule 28.10.2015


Ответы (2)


Я уже обнаружил, что Word использует умную цитату, поэтому, если вы просто используете ", это не сработает

Просто добавьте следующее над строкой кода TargetList

'Chr(148) is the Character Code for Word Smart quote
'This is what is inserted into Word when you press "
char1 = Chr(148) & "."

И измените свой TargetList:

TargetList = Array("I", "We", "our", "discusses about", "we", "asserts", char1)

Пробовали, и это сработало, чтобы выделить ".

person Jean-Pierre Oosthuizen    schedule 28.10.2015

В Word откройте диалоговое окно «Найти». (Ctrl + F отображает панель задач вместо диалогового окна, в раскрывающемся списке выберите «Дополнительно».)

Введите ". В поле" Найти ", затем нажмите" Выделить чтение ", затем" Выделить все ".

Если вам действительно нужен макрос, запишите макрос, а затем выполните действия, описанные выше.

person Cindy Meister    schedule 27.10.2015
comment
Я бы предпочел использовать коды, потому что есть много слов и символов, которые мои клиенты не хотели бы видеть в письме. Мы пробовали эту опцию «Найти и заменить». Не получилось, потому что мы пропустили много слов. Итак, я пытаюсь создать код, который бы выделил все эти слова. Автозамена не будет вариантом, поскольку мы в основном выполняем копирование и вставку. Пожалуйста, не могли бы вы предложить решение. заранее спасибо - person Ishwarya; 28.10.2015
comment
пожалуйста, объясните, как использование find не сработало для комбинации, которую вы упомянули в своем исходном вопросе. Я проверил, прежде чем сделать предложение. И я объяснил, как сделать код макроса. - person Cindy Meister; 28.10.2015
comment
Нам нужно проверить так много слов и символов. Таким образом, использование функции find для каждого слова или символа отнимет у нас больше времени. Я пробовал использовать макрос. У меня не получилось. Я сделал именно так, как ты сказал. Создал макрос, нашел и прочитал выделение для всех слов и символов, которые я хотел выделить, и остановил запись. Но это не сработало. Однако я просто попытался выделить слово жирным шрифтом, просто используя клавиатуру. это сработало. Это не сработало из-за того, что я использовал действие мыши - person Ishwarya; 28.10.2015