更改 Microsoft Word 中特定单词的颜色?
Change the color of a specific word in Microsoft Word?
我看过多篇关于这个主题的文章,但其中 none 对我的情况有帮助,其中大部分是针对 Excel 的。我想在 word 中使用 vba
代码更改字体颜色。我已经尝试 Selection.Font.Color
但它也没有用。我知道 vba
需要一个具有该特定单词的变量,但我没有这样做。
有人知道怎么做吗?
我使用了一种变通方法来替换使用此 vba
代码的单词的字体颜色
With Selection.Find
.ClearFormatting
.Text = "hello"
.Replacement.ClearFormatting
.Replacement.Text = "hi"
.Replacement.Font.Color = wdColorBlack 'I added this line
.Execute Replace:=wdReplaceAll, Forward:=True, _
Wrap:=wdFindContinue
End With
但我一直在寻找更具体的方法来 替换 vba 中单词的字体颜色。
如果您想要一段可重复使用的代码,那么应该关闭类似这样的代码:
Sub Tester()
ActiveDocument.Content.Font.Color = vbBlack
ColorText ActiveDocument.Content, "breaks", vbRed
ColorText ActiveDocument.Content, "it", vbBlue
ColorText ActiveDocument.Content, "with just", vbGreen
End Sub
Sub ColorText(rng As Range, strFind As String, clr As Long)
With rng.Find
.Text = strFind
.Forward = True
.Format = False
.MatchCase = False
.MatchWholeWord = True
Do While .Execute()
rng.Font.Color = clr 'rng is redefined as the found text
Loop
End With
End Sub
我看过多篇关于这个主题的文章,但其中 none 对我的情况有帮助,其中大部分是针对 Excel 的。我想在 word 中使用 vba
代码更改字体颜色。我已经尝试 Selection.Font.Color
但它也没有用。我知道 vba
需要一个具有该特定单词的变量,但我没有这样做。
有人知道怎么做吗?
我使用了一种变通方法来替换使用此 vba
代码的单词的字体颜色
With Selection.Find
.ClearFormatting
.Text = "hello"
.Replacement.ClearFormatting
.Replacement.Text = "hi"
.Replacement.Font.Color = wdColorBlack 'I added this line
.Execute Replace:=wdReplaceAll, Forward:=True, _
Wrap:=wdFindContinue
End With
但我一直在寻找更具体的方法来 替换 vba 中单词的字体颜色。
如果您想要一段可重复使用的代码,那么应该关闭类似这样的代码:
Sub Tester()
ActiveDocument.Content.Font.Color = vbBlack
ColorText ActiveDocument.Content, "breaks", vbRed
ColorText ActiveDocument.Content, "it", vbBlue
ColorText ActiveDocument.Content, "with just", vbGreen
End Sub
Sub ColorText(rng As Range, strFind As String, clr As Long)
With rng.Find
.Text = strFind
.Forward = True
.Format = False
.MatchCase = False
.MatchWholeWord = True
Do While .Execute()
rng.Font.Color = clr 'rng is redefined as the found text
Loop
End With
End Sub