Есть ли способ выделить определенные слова в текстовом поле MS Word? - PullRequest
0 голосов
/ 22 октября 2019

Текущий код VBA, который я нашел, выделяет определенные слова в списке, который помещается в обычный абзац. Однако мне нужно выделить слово, помещенное внутри текстового поля. Любые идеи о том, как выделить текст внутри текстового поля, а?

Sub HighlightWords()
'
' HighlightWords Macro
'
'
Dim Word As range
Dim WordCollection(2) As String
Dim Words As Variant

WordCollection(0) = "Andres"
WordCollection(1) = "just"
WordCollection(2) = "Pending"

Options.DefaultHighlightColorIndex = wdYellow
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Highlight = True

For Each Word In ActiveDocument.Words
For Each Words In WordCollection
With Selection.Find
.Text = Words
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False

End With
Selection.Find.Execute Replace:=wdReplaceAll

Next

Next
End Sub

1 Ответ

0 голосов
/ 22 октября 2019

Вы должны использовать этот цикл:

For i = 1 To ActiveDocument.Shapes.Count
    ActiveDocument.Shapes(i).Select

    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    Selection.Find.Replacement.Highlight = True

    ' do something...
Next i
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...