Try:
Sub Demo()
Application.ScreenUpdating = False
Dim StrFnd As String, Rng As Range, i As Long, j As Long
StrFnd = "03AC 03B1 03AD 03B5 03AE 03B7 0390 03B9 03CA 03B9 03AF 03B9 03CC 03BF 03CD 03C5 03B0 03C5 03CE 03C9"
For i = 0 To UBound(Split(StrFnd, " ")) Step 2
With ActiveDocument.Range
With .Find
.ClearFormatting
.Replacement.ClearFormatting
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
.MatchWildcards = True
.Text = "<" & ChrW("&H" & Split(StrFnd, " ")(i)) & "*>"
.Execute
End With
Do While .Find.Found = True
Set Rng = .Duplicate
With .Duplicate
.Start = .Start + 1
For j = 0 To UBound(Split(StrFnd, " ")) Step 2
If InStr(.Text, ChrW("&H" & Split(StrFnd, " ")(j))) > 0 Then
Rng.Characters.First.Text = ChrW("&H" & Split(StrFnd, " ")(i + 1))
Exit For
End If
Next
End With
.Collapse wdCollapseEnd
.Find.Execute
Loop
End With
Next
With ActiveDocument.Range
With .Find
.ClearFormatting
.Replacement.ClearFormatting
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
.MatchWildcards = True
.Text = "<" & ChrW("&H03B5") & ChrW("&H03CD") & "*>"
.Execute
End With
Do While .Find.Found = True
Set Rng = .Duplicate
Rng.Start = Rng.Start + 1
With .Duplicate
.Start = .Start + 2
For j = 0 To UBound(Split(StrFnd, " ")) Step 2
If InStr(.Text, ChrW("&H" & Split(StrFnd, " ")(j))) > 0 Then
Rng.Characters.First.Text = ChrW("&H03C5")
Exit For
End If
Next
End With
.Collapse wdCollapseEnd
.Find.Execute
Loop
End With
Application.ScreenUpdating = True
End Sub
Bookmarks