将模式转换为超链接

Converting patterns to hyperlinks

我正在尝试用从模式派生的超链接替换模式的每个实例。

模式的形式为 123 WORD 4568,其中 WORD 始终相同,但数字(和数字数量)发生变化。例如。 1948 字 12、231 字 3948、92 字 1029。

超链接取决于数字,对于 1948 WORD 12,它类似于 www.word.com/1948/12.html

使用通配符,我可以找到该模式的所有实例并将它们替换为指向 word.com:

的超链接
Sub InsertLinksTB()

    Set Rng = ActiveDocument.Range

    With Rng.Find
        SearchString = "[0-9]{1,9} WORD [0-9]{1,9}"
        .MatchWildcards = True
        Do While .Execute(findText:=SearchString, Forward:=False) = True
            Link = "www.word.com"

            ActiveDocument.Hyperlinks.Add Anchor:=Rng, _
            Address:=Link, _
            SubAddress:="", ScreenTip:="", TextToDisplay:=Rng.Text
            Rng.Collapse wdCollapseStart
        Loop
    End With

End Sub

鉴于通配符,我不知道如何使用 SubAddress 为模式的每个实例生成完整的超链接。

如果模式始终相同,可以使用Split函数获取字符串的元素并构造link.

Sub InsertLinksTB()

    Set Rng = ActiveDocument.Range

    With Rng.Find
        SearchString = "[0-9]{1,9} WORD [0-9]{1,9}"
        .MatchWildcards = True
        Do While .Execute(findText:=SearchString, Forward:=False) = True
            Link = "www.word.com/" & Split(Rng.Text, " ")(0) & "/" & Split(Rng.Text, " ")(2) & ".html"
            
            ActiveDocument.Hyperlinks.Add Anchor:=Rng, _
                Address:=Link, _
                SubAddress:="", ScreenTip:="", TextToDisplay:=Rng.Text
            Rng.Collapse wdCollapseStart
        Loop
    End With

End Sub