Vba 如何使此亚洲字体突出显示宏识别单词字符?

Vba 如何使此亚洲字体突出显示宏识别单词字符?,vba,ms-word,asianfonts,Vba,Ms Word,Asianfonts,对于我使用的大多数文档,我需要突出显示亚洲字体的实例,例如SimSun、MS Mincho 我把下面的代码放在一起——它工作得很好,但是它没有突出显示非亚洲单词中的亚洲字体字符,比如它的 Sub HighlightAsian2019() Dim aWord For Each aWord In ActiveDocument.Words If aWord.Font.Name = "SimSun" Then aWord.FormattedText.High

对于我使用的大多数文档,我需要突出显示亚洲字体的实例,例如SimSun、MS Mincho

我把下面的代码放在一起——它工作得很好,但是它没有突出显示非亚洲单词中的亚洲字体字符,比如它的

Sub HighlightAsian2019()
Dim aWord
    For Each aWord In ActiveDocument.Words
        If aWord.Font.Name = "SimSun" Then
           aWord.FormattedText.HighlightColorIndex = wdTurquoise
        End If
    Next aWord
    For Each aWord In ActiveDocument.Words
        If aWord.Font.Name = "MS Mincho" Then
           aWord.FormattedText.HighlightColorIndex = wdTurquoise
        End If
    Next aWord
End Sub
有谁能帮我改进代码,使文本中所有SimSun和MS Mincho的实例都突出显示

任何帮助都将不胜感激

使用此循环:


您可以使用Range的.Characters属性访问字母表。为其他字体添加另一个If条件以检查

,因为我没有该特定字体,我用其他字体测试过,可能会尝试修改字体名称

Sub test()
Dim Rng As Range
Set Rng = ThisDocument.Content
With Rng.Find
.ClearFormatting
.Text = ""
.Font.Name = "Kruti Dev 040 Wide"
    Do While .Execute
    Rng.FormattedText.HighlightColorIndex = wdTurquoise
    Loop
End With
End Sub

为什么不简单地运行find循环,而不是遍历单词呢。它会找到任何有这种特殊字体的东西。
Sub test()
Dim Rng As Range
Set Rng = ThisDocument.Content
With Rng.Find
.ClearFormatting
.Text = ""
.Font.Name = "Kruti Dev 040 Wide"
    Do While .Execute
    Rng.FormattedText.HighlightColorIndex = wdTurquoise
    Loop
End With
End Sub