Я искал это в сети, но, к сожалению, не радость.Я могу найти много примеров поиска и замены, но не так много, чтобы найти и выделить с помощью regex
.
Что я хочу сделать, так это найти нелатинские символы кодовой страницы в документе MS Word и выделить их.Я думал, что лучший подход будет использовать regex
(открыт для предложений, если это не так).Ниже код выделяет весь документ:
Sub Highlight_Words()
Dim oRE As New RegExp: oRE.Pattern = "[^a-zA-Z0-9:]"
Dim oM As Match
Application.ScreenUpdating = False
Options.DefaultHighlightColorIndex = wdRed
With ActiveDocument.Content.Find
.ClearFormatting
.Text = oRE.Pattern
'.Text = "[^a-zA-Z0-9\s:]"
'.Text = "[a-zA-Z\d\s:]"
'.Text = " "
With .Replacement
.Text = "^&"
.ClearFormatting
.Highlight = True
End With
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchWildcards = True
.Execute Replace:=wdReplaceAll
End With
Application.ScreenUpdating = True
End Sub
Любая помощь будет принята с благодарностью, спасибо
PS Я работаю над Windows 7 (64 бит) и Word 2013
Update1:
Ниже приведен пример текста:
Это просто пример текста для проверки выделения не алфавитно-цифровых символов (т. Е. Символов, которые не являются символами английского языка)(т. е. А), а не числа).Есть исключения из этого правила, такие как апостроф («2») или двоеточие («:») или дефис («-»).Но я могу добавить эти исключения, как только у меня будет основной шаблон для поиска не алфавитно-цифровых символов
Так что из вышеприведенного примера текста следует выделить À (у меня был другойсимволы в тексте, но, к сожалению, они не отображаются на сайте)