我需要修改 .xls 工作簿中的大量超链接。我的链接是这样的:\\\mysrv001\some\path\documents.doc
我需要用 \\\mysrv001
替换 \\\mysrv002
我尝试过类似的操作,但出现错误:“对象不支持此属性或方法”。我该如何解决?
Sub test()
Dim hLink As Hyperlink
Dim wSheet As Worksheet
Dim path As String
For Each wSheet In Worksheets
For Each hLink In wSheet.Hyperlinks
path = Right(hLink, Len(hLink) - 11)
hLink.Address = "\\mysrv003\" & path
Next hLink
Next
End Sub
PS:我使用的是 Office 2000
最佳答案
哎呀!您正在提取并保留路径字符串的左侧部分,您真正想要做的是丢弃它!
编辑:此外,您不能在像这样的超链接对象上使用字符串函数( Left
、 Right
、 Len
...)。这就是导致错误的原因。您必须提取 Hyperlink 对象的 Address 属性——这是一个字符串。
代替
path = Left(hLink, 11) ' throws error: Object doesn't support this property...
和
path = Mid(hLink.Address, 12) ' returns "some\path\documents.doc"
' or, equivalently:
'path = Right(hLink.Address, Len(hLink.Address) - 11)
关于vba - 替换部分超链接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7228195/