VBA:不能更改Word文档中超链接的SubAddress属性

时间:2018-11-12 08:58:15

标签: vba ms-word

我正在尝试修复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键。

用鼠标单击时,超链接可以正常工作(第一行超链接会将您带到第二行标题)。

1 个答案:

答案 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