Sub h()
Dim cl As Range
Dim h As String
Set cl = Range("E13") 'Modify to the cell containing your =HYPERLINK formula
h = Replace(cl.Formula, "=HYPERLINK(", "")
h = Replace(h, ")", "")
h = Replace(h, Chr(34), "")
h = Split(h, ",")(0)
Dim wb As Workbook
Set wb = Workbooks.Open(h)
End Sub
6
如果工作表中的超链接在 =hyperlink() 公式中,我们:
grab 公式
解析它以获得 url
关注超链接:
这是代码:
Sub ClickByVba()
ary = Split(ActiveCell.Formula, Chr(34))
ActiveWorkbook.FollowHyperlink Address:=ary(1)
End Sub
正如我对Gary的回答所评论的那样,如果您的网站需要登录,ActiveWorkbook.FollowHyperlink方法可以正常工作,但是 it will ask for your credentials every time you open the link .
如果您想打开一个网站并保存您的凭据,您可以使用我写的其他功能:
Sub OpenHyperlink(ByVal link As String)
'Escape chars that cmd.exe uses
link = Replace(link, "^", "^^")
link = Replace(link, "|", "^|")
link = Replace(link, "&", "^&")
'Open default web browser
Shell "CMD.EXE /C START " & link, vbHide
End Sub
3 回答
看看
Hyperlink
对象参考:https://msdn.microsoft.com/en-us/library/office/ff835563.aspx
您应该能够使用
.Follow
方法打开文件,或者如果不起作用,您可以始终获取.Address
属性并将其传递给Workbooks.Open
方法 .同时将Excel Object Model Reference加入书签以备将来使用:)
我不认为这适用于公式超链接,所以如果那是你的情况,那么,做:
如果工作表中的超链接在
=hyperlink()
公式中,我们:grab 公式
解析它以获得 url
关注超链接:
这是代码:
这适用于Web链接和文件链接 .
如果链接指向文件,则文件将被打开(如果尚未打开)并且将进行跳转 .
正如我对Gary的回答所评论的那样,如果您的网站需要登录,ActiveWorkbook.FollowHyperlink方法可以正常工作,但是 it will ask for your credentials every time you open the link .
如果您想打开一个网站并保存您的凭据,您可以使用我写的其他功能: