You could use a macro like:
Sub Demo()
Dim i As Long, StrFR As String, StrFnd As String, StrRep As String
StrFR = "[" & ChrW(&H3AC) & ChrW(&H1F00) & "-" & ChrW(&H1F07) & ChrW(&H1F70) & ChrW(&H1F71) & _
ChrW(&H1F80) & "-" & ChrW(&H1F87) & ChrW(&H1FB0) & "-" & ChrW(&H1FB7) & "]|" & ChrW(&H3B1) & "|"
StrFR = StrFR & "[" & ChrW(&H3AD) & ChrW(&H1F10) & "-" & ChrW(&H1F15) & ChrW(&H1F72) & ChrW(&H1F73) & "]|" & ChrW(&H3B5) & "|"
StrFR = StrFR & "[" & ChrW(&H3AE) & ChrW(&H1F20) & "-" & ChrW(&H1F27) & ChrW(&H1F74) & ChrW(&H1F75) & _
ChrW(&H1F90) & "-" & ChrW(&H1F97) & ChrW(&H1FC2) & "-" & ChrW(&H1FC7) & "]|" & ChrW(&H3B7) & "|"
With ActiveDocument.Range
With .Find
.ClearFormatting
.Replacement.ClearFormatting
.Format = False
.Wrap = wdFindContinue
.MatchWildcards = True
'loop through the conversion array, replacing accented Greek with plain Greek
For i = 1 To UBound(Split(StrFR, "|")) Step 2
StrFnd = Split(StrFR, "|")(i - 1)
StrRep = Split(StrFR, "|")(i)
.Text = StrFnd
.Replacement.Text = StrRep
.Execute Replace:=wdReplaceAll
DoEvents
Next
End With
End With
End Sub
So far, the code will replace all accented lower-case α, ε & η characters with their unaccented versions. I'll leave you to add the rest and/or exclude any you don't want converted.
Each new line beginning with StrFR has two parts - the wildcard Find string and a Replacement character. There is one new line beginning with StrFR per replacement character. Each Find string is bounded by the '[' and ']' characters, whilst the '-' characters denote a contiguous character range. The '|' characters differentiate the Find string and a Replacement characters and each part of the StrFR 'array'. The '&H????' strings are the Unicode values of the characters, which you can find via the Insert|Symbol dialogue.
Although it looks complicated, the code as posted does all of the α, ε & η replacements with just three Find/Replace executions - one for each letter.
Bookmarks