vba - 是否可以以编程方式取代 Excel 中的 native 超链接跟随行为?

标签 vba excel ms-access hyperlink

是否可以取代 Excel 在单击超链接后跟随超链接的内置方式?

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

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

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

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

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

最佳答案

使用 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

关于vba - 是否可以以编程方式取代 Excel 中的 native 超链接跟随行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34514991/

相关文章:

Excel 2016 : Error accessing file. 网络连接可能已丢失

vba - 如何在没有 "on XXXX:"的情况下将事件打印机设置为 microsoft print to pdf

.net - 如果我使用 EPPlus 保存或手动保存,为什么我的 Excel 文件的大小会发生变化?

MySQL、ODBC驱动 Access 排序问题

Excel VBA 根据条件通过电子邮件发送每一行

vba - 删除数组中不包含字符串的行

excel - 在单元格中创建重击效果

excel - 无法将计算字段添加到数据透视表

c# - 检查 MS Access 数据库表,如果不存在则创建它

ms-access - Access VBA 编译错误无效的 ParamArray 使用