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

一旦他们被点击,Excel是否可以超越内置的超链接呢?

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

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


例如,说.pdf文件有一个超链接的目标是“ http://www.website.com/1234 ”。 当点击这个链接时,我想最终的结果是一个msgbox "1234"的Excel / VBA命令,而不会尝试在浏览器中实际打开这个URL。


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

如果没有,可以在Access中做同样的事情吗?

使用Worksheet_FollowHyperlink事件macros来覆盖默认的超链接行为。

 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