View Single Post
 
Old 06-09-2022, 12:33 AM
Jimmy Jimmy is offline Windows 10 Office 2019
Novice
 
Join Date: Jun 2022
Posts: 2
Jimmy is on a distinguished road
Default A VBA macro can't get the correct color of a hyperlink in MS Word

I'm writing a VBA macro that find any font color used except from black (RGB: 0,0,0) and blue.
If this macro finds a character that isn't black and blue in a paragraph, it shows the text of the paragraph with a message box.

Code:
Option Explicit

Sub test()

    Dim oParagraph As Paragraph, oLink As Hyperlink
    Dim char As Range
    Dim bFound As Boolean, i As Integer
    Dim strHex As String, strHex1 As String, strHex2 As String, strHex3 As String
    Dim strHex4 As String, strHex5 As String
    
    bFound = False
    
    For Each oParagraph In ActiveDocument.Paragraphs
    
        For Each char In oParagraph.Range.Characters
            strHex = Hex(char.Font.TextColor.RGB)
            strHex1 = Hex(char.Font.ColorIndex)
            strHex2 = Hex(char.Font.Color)
            strHex3 = Hex(char.Style.Font.Color)
            strHex4 = Hex(char.Style.Font.ColorIndex)
            strHex5 = Hex(char.Style.Font.TextColor.RGB)

            If char.Font.Color <> wdColorAutomatic And char.Font.Color <> wdColorBlack _
               And char.Font.Color <> wdColorBlue Then

                bFound = True
                GoTo nt_lb

            End If
        Next char

    Next oParagraph

nt_lb:
    If bFound = True Then
        MsgBox oParagraph.Range.Text
    End If

End Sub
But, this macro doesn't work for a hyperlink.
When you execute this macro, this macro shows the pragraph including the hyperlink although the hyperlnk is blue and the remaining text is black in the paragraph.

My macro checks the following properties for getting the correct font color:
  • Range.Font.Color
  • Range.Font.TextColor
  • Range.Style.Font.Color
  • Range.Style.Font.TextColor

But, any of the above properties don't return the correct color (blue).
In the hyperlink text "This is a test link.", this macro finds that the first "T" character isn't black and blue.

Also, I've attached a sample document.

Please help me.
Attached Files
File Type: docm sample.docm (18.2 KB, 7 views)