将模式转换为超链接
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
我正在尝试用从模式派生的超链接替换模式的每个实例。
模式的形式为 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