如何用vba按照文本查找word文档并高亮显示?

在word文档中,当我们要查找某个文本字符串时,如果需要将所有找到的字符串高亮显示,可以使用Find对象的HitHighlight方法。

如下图所示

如果要查找文档中的“主题”两个字,并且高亮显示,可以使用如下的VBA代码:

Sub QQ1722187970()
    Const wdReplaceAll = 2
    Dim oRng As Range
    Dim oRng1 As Range
    Set oRng = Word.Selection.Range
    '先判断是否有选中区域,没有选中则表示整个文档
    If oRng.Start = oRng.End Then
        Set oRng = Word.ActiveDocument.Content
    End If
    '获取要执行操作的区域的起点和终点,用于查找替换时判断是否超出了选定区域
    iStart = oRng.Start
    iEnd = oRng.End
    Debug.Print oRng.Text
    Set oRng1 = oRng
    With oRng1.Find
        .ClearFormatting
        .ClearHitHighlight
        .HitHighlight FindText:="主题", HighlightColor:=vbBlue, TextColor:=vbRed
    End With
End Sub
       

发表评论