假设MS Word 2007/2010文档中有以下文字,我有" testA"用蓝色突出显示" testB"用绿色突出显示:"这是testA和testB。"。我想以编程方式将testA替换为其背景颜色索引2,并将testB替换为其背景颜色索引11. Ref:WdColorIndex Enumeration
我尝试过以下但有两个问题:
我希望被替换的文字是:"这是2和11"。相反,我得到了:"这是0和2"。
使用VBA或C#的任何更正都可以。
Sub ReplaceHighlightedTextColor()
With Selection.Find
.ClearFormatting
.Highlight = True
While .Execute(Forward:=True, Format:=True, ReplaceWith:=CStr(Selection.FormattedText.HighlightColorIndex))
Wend
End With
End Sub
答案 0 :(得分:3)
试试这个:
Sub ReplaceHighlightedTextColor()
Dim rng As Range
Set rng = Selection.Range
With rng.Find
.ClearFormatting
.Highlight = True
While .Execute(Forward:=True, Format:=True)
'Note: 'rng' is now the range containing the matched content
rng.Text = rng.FormattedText.HighlightColorIndex
Wend
End With
End Sub