У меня есть коды ниже, которые уже работают, но все еще должны быть настроены. Это функция, которая находит совпадения для строки поиска с подстановочными знаками и выделяет события. Но я считаю, что это все еще можно сделать в одной строке, используя заменить все. Я перепробовал почти все, что мог придумать, и думаю, пришло время спросить экспертов об этом. Пожалуйста, покажи мне, как это можно сделать еще более коротким способом. Любая помощь будет оценена. Спасибо!
Sub findfunction()
If (findHL(activedocument.Range, "[aeiou]")) = True Then MsgBox "Highlight vowels Done", vbInformation + vbOKOnly, "Vowels Highlight Result"
End Sub
Function findHL(r As Range, s As String) As Boolean
Dim rdup As Range
Set rdup = r.Duplicate
rdup.Find.Wrap = wdFindStop
Do While rdup.Find.Execute(findtext:=s, MatchWildcards:=True) = True
If (Not rdup.InRange(r)) Then Exit Do
rdup.HighlightColorIndex = wdBlue
rdup.Collapse wdCollapseEnd
Loop
findHL = True
End Function