我正在尝试修复Word文档中的超链接。我需要更改某些超链接的SubAddress属性。为此,我正在遍历它们。不幸的是,当我尝试更改任何SubAddress时,出现一个非常奇怪的错误,提示method 'subaddress' of object 'hyperlink' failed
。显然发生这种情况是因为VBA本身发生了故障。
Sub FixHyperlinks()
'
' FixHyperlinks Macro
'
'
ActiveDocument.Hyperlinks(1).SubAddress = "some new subaddress"
End Sub
我在摇摆Office 2016 Professional Plus。谁能告诉我这是否适合您?
易于测试。只需创建一个新文档,键入两个单字行。将第二个线条样式设置为“标题1”。转到第一行,单击CTRK + K(以创建超链接)将其指向“此文档中的某个位置”,选择刚创建的标题。请勿输入任何地址。现在转到“宏”,将上面的内容粘贴并在插入符号位于代码内时按F5键。
用鼠标单击时,超链接可以正常工作(第一行超链接会将您带到第二行标题)。
答案 0 :(得分:1)
尽管Hyperlink.SubAddress属性应该是一个读/写字符串,但是即使在Word 2010中也无法写入。尝试以下方法:
Dim Rng As Range, StrAddr As String, StrTxt As String
With ActiveDocument
With .Hyperlinks(1)
Set Rng = .Range
StrAddr = .Address
StrTxt = .TextToDisplay
.Delete
End With
.Hyperlinks.Add Anchor:=Rng, Address:=StrAddr, SubAddress:="new_sub_address"
End With