Здравствуйте!
[s]
Возникла необходимость нахождения (подсвечивания/выделения) макросом латинских букв в выделенном диапазоне.
Нашел решение через НАЙТИ-ЗАМЕНИТЬ при выборе Область поиска - текущий фрагмент все нужные символы выделяются и можно им назначить цвет.
Но макросом не смог добиться эффекта выделения искомых символов и назначение им форматирования.
Также написал следующую процедуру:
[vba]Код
'определение латинских букв
Sub Lat()
Dim j As Object
Set myRange = Selection
Application.ScreenUpdating = False
For Each j In myRange.Characters
If j Like "[A-Za-z]" Then j.Font.Color = vbBlue
Next j
Application.ScreenUpdating = True
End Sub
[/vba]
Недостаток данного способа в том, что процедура выполняется долго .
Но если указать поиск во всем документе
[vba]Код
Set myRange = ActiveDocument.Content
[/vba]
то процедура отрабатывает в разы быстрее.
Подскажите в чём причина и можно ли улучшить быстродействие данного решения?
Также по теме:
Нашел хорошее решение подсветки искомых символов через НАЙТИ-ЗАМЕНИТЬ с помощью опции "Выделение при чтении", которое снимается при повторном вызове, что удобно. Возможно ли добиться такого эффекта макросом?