如何用vba判断word文档中是否有高亮(颜色)的文字?

在word中可以通过“开始”选项卡下的“字体”工作组中的“文本突出显示颜色”命令给文档中的文本添加高亮显示的背景填充色,如下图所示:

在word vba中,可以使用Range对象的HighlightColorIndex属性获取或者设置高亮的背景填充色。

如果要判断一个word文档是否有高亮的文字,需要逐字符遍历word文档,看是否HighlightColorIndex属性是大于0。

根据以上的分析,可以使用如下的代码实现:

Sub QQ1722187970()
    Const wdYellow = 7
    Const wdGreen = 11
    Const wdBlue = 2
    Const wdAuto = 0
    Const wdNoHighlight = 0
    Dim oRng As Range
    Dim oDoc As Document
    Dim lEnd As Long
    Set oDoc = Word.ActiveDocument
    lEnd = oDoc.Range.End
    For i = 0 To lEnd
        Set oRng = oDoc.Range(i, i + 1)
        If oRng.HighlightColorIndex <> 0 Then
            MsgBox "有颜色底纹"
            End
        End If
    Next
    MsgBox "无颜色底纹"
End Sub

 

       

仅有1条评论 发表评论

  1. Pingback引用通告: 如何用vba在word中快速移动或选中内容区域? – 算法网 /

发表评论