Rem*_*igo 3 excel vba excel-vba
我需要修改.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
Run Code Online (Sandbox Code Playgroud)
PS:我正在使用Office 2000
试试这个
Sub test()
Dim hLink As Hyperlink
Dim wSheet As Worksheet
For Each wSheet In Worksheets
For Each hLink In wSheet.Hyperlinks
hLink.Address = Replace(hLink.Address, "\\mysrv001\", "\\mysrv002\")
Next hLink
Next
End Sub
Run Code Online (Sandbox Code Playgroud)
哎呦!您正在提取并保留路径字符串的左侧部分,您真正想要做的就是丢弃它!
编辑:另外,您不能使用字符串函数(Left,Right,Len超链接对象一样,上...).这是造成错误的原因.您必须提取Hyperlink对象的Address属性 - 这是一个字符串.
更换
path = Left(hLink, 11) ' throws error: Object doesn't support this property...
Run Code Online (Sandbox Code Playgroud)
同
path = Mid(hLink.Address, 12) ' returns "some\path\documents.doc"
' or, equivalently:
'path = Right(hLink.Address, Len(hLink.Address) - 11)
Run Code Online (Sandbox Code Playgroud)