【问题标题】:Bypassing Microsoft Office Protocol Discovery in Excel VBA在 Excel VBA 中绕过 Microsoft Office 协议发现
【发布时间】:2012-10-13 00:01:37
【问题描述】:

我面临的问题是我有一个电子表格,该电子表格从 Intranet 站点提取数据,该站点将凭据存储在浏览器的 cookie 中。我的宏确实通过 Internet Explorer 验证到该站点,但我添加到返回该站点的数据的超链接将在用户的默认浏览器中打开。有没有办法更改 Hyperlinks 方法将打开哪个浏览器,或者有没有办法将请求直接转发到用户的默认浏览器而不通过 Microsoft Office 协议发现? Outlook中的超链接直接打开到默认浏览器,excel没有的原因是什么?或者有没有办法以某种方式获取该 cookie 并将其与请求一起发送?任何帮助将不胜感激。

【问题讨论】:

    标签: vba cookies excel hyperlink


    【解决方案1】:

    如果您将链接更改为指向包含它们的单元格,您可以捕获 FollowHyperlink 事件(在工作表或工作簿级别)并使用该事件在 IE 中打开链接。假设您可以将完整链接设置为“要显示的文本”。

    Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
        Dim url As String
        url = Target.TextToDisplay
        'automate IE to open the link...
    End Sub
    

    【讨论】:

    • 我正在考虑使用类似于此方法的方法,但我更喜欢您的解决方案而不是我正在考虑的解决方案。如果我没有得到允许我以某种方式绕过它的响应,我将使用它。我只是想知道是否有一种方法不需要我像这样编写它,因为由于各种不同的原因需要大量的新代码,我现在不会讨论。
    • **注意:TextToDisplay 不起作用。在我意识到我应该引用单元格本身之后,我最终不得不使用 ScreenTip(我没有仔细阅读此内容)。现在效果很好。谢谢!
    • TextToDisplay 对我来说没问题,因为我使用的是该属性的实际 URL。很高兴听到您成功了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-24
    • 2016-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多