是否有可能以编程方式取代Excel中的本机超链接跟随行为?

时间:2015-12-29 16:23:49

标签: excel vba excel-vba ms-access hyperlink

是否有可能取代单击Excel后点击超链接的内置方式?

具体来说,我有一个包含超链接的.pdf文档,我在Excel用户表单中打开了这些文件。当用户单击该文档中的任何链接时,我想以编程方式中止尝试在新浏览器窗口中打开该链接目标的常规行为。

相反,我想对每个链接的URL目标执行一些文本字符串操作,并使用结果来驱动其他一些VBA代码。

例如,假设.pdf文件具有目标为“http://www.website.com/1234”的超链接。单击此链接时,我希望最终结果是msgbox "1234"的Excel / VBA命令,而不尝试在浏览器中实际打开URL。

在Excel中这样的事情可能吗?

如果没有,是否可以在Access中执行相同的操作?

1 个答案:

答案 0 :(得分:3)

使用Worksheet_FollowHyperlink事件宏来覆盖默认超链接行为..

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
    MsgBox "1234"
End Sub

或者,对于工作簿范围的方法,Workbook_SheetFollowHyperlink可用。

Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)
    if Sh.Name = "Sheet1" Then _
        MsgBox "1234"
End Sub