excel vba如何打开hyperlink公式类型的超链接?

2020-05-01 科技 170阅读

使用Hyperlink生成超链接时,超链接属于Sheet,不属于单元格,所以运行代码时,报错【运行时错误‘9’ 下标越界】

以下代码,请安排在模块中

当然你需要设法运行myOnkey以便使设置的快捷键生效。这里我假设设置的快捷键是Alt+x(你可以随时运行clearOnkey取消快捷键)

Sub myOnkey()
    Application.OnKey "%x", "myClick"
End Sub
Sub clearOnkey()
    Application.OnKey "%x"
End Sub
Sub myClick()
    On Error Resume Next
    Selection.Hyperlinks(1).Follow NewWindow:=True
    If Error = "" Then Exit Sub
    On Error GoTo 0
    Dim hyperText As String
    hyperText = StrConv(Selection.Formula, vbLowerCase)
    If InStr(hyperText, "http://") = 0 Then Exit Sub
    hyperText = Mid(hyperText, InStr(hyperText, "http://"), InStr(hyperText, ",") - InStr(hyperText, "http://") - 1)
    ActiveSheet.Hyperlinks.Add anchor:=Selection, Address:=hyperText
    Selection.Hyperlinks(1).Follow
    Selection.Hyperlinks(1).Delete
End Sub

myClick代码会先尝试有没有手工输入的链接,如果能正确执行就结束,如果不能,尝试取得公式,如果公式中没有”http://“(你可以自己定义你自己的超链接关键字符串),也会结束,否则,会按照hyperlink函数的结构取得超链接,并为Selection临时添加超链接并执行Follow方法,执行后删除添加的超链接

以上请测试

祝你顺利

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com