Vba 自动给日语字符上色
我编写了一个宏来检测文档中的日文字体,然后将其颜色设置为红色,同时将英文文本设置为蓝色 除了像0123456789这样的数字字符外,它还能工作。数字不是日语而是英语,所以数字仍然是蓝色的,而不是我想象中的红色Vba 自动给日语字符上色,vba,ms-word,Vba,Ms Word,我编写了一个宏来检测文档中的日文字体,然后将其颜色设置为红色,同时将英文文本设置为蓝色 除了像0123456789这样的数字字符外,它还能工作。数字不是日语而是英语,所以数字仍然是蓝色的,而不是我想象中的红色 Sub Replace_font_color() Dim kage As Range Dim taro As Document Set taro = ActiveDocument With taro For Each ka
Sub Replace_font_color()
Dim kage As Range
Dim taro As Document
Set taro = ActiveDocument
With taro
For Each kage In .Words
kage.Font.Name = "MS Mincho"
'Replace all text by MS Mincho Font
kage.Font.Name = "Times New Roman"
'Replace all text font by Times New Roman font
'Since Japanese characters can't be replaced by non Japanese font
'so the Japanese characters remain in MS Minchon font
If kage.Font.Name = "MS Mincho" Then
kage.Font.Name = "MS Mincho"
kage.Font.Size = 10.5
kage.Font.Color = vbRed
End If
If kage.Font.Name = "Times New Roman" Then
kage.Font.Name = "Times New Roman"
kage.Font.Size = 13
kage.Font.Color = vbBlue
End If
Next
End With
End Sub
在执行宏之前
执行宏后
您已经说过“因为日文字符不能被非日文字体替换,所以日文字符仍保留为MS Minchon字体。”这意味着数字可以被非日文字体替换,因此逻辑格式为蓝色。•一种方法是检查一个单词是否是日语,然后检查其左右两侧的单词是否是日语,如果是,请将数字也格式化为日语/红色试试看。数字不需要语言,但我明白你为什么认为它们应该。例如,如果文本总是拆分为整段,请立即为整段涂上颜色并跳到下一段。