IE.navigate2 因保护模式关闭而失败

发布于 2024-11-27 17:15:58 字数 309 浏览 2 评论 0原文

我正在从 Excel VBA(Excel 2010、Windows 7)自动化 IE8

Set IE = CreateObject("InternetExplorer.Application")
IE.Navigate2 URL

如果 URL 是位于 IE 保护模式打开的区域中的网站,则一切正常。

如果 URL 是 IE 保护模式关闭的区域中的网站,则脚本将失败(IE 自动变为可见,IE 对象在 VBA 中丢失 - 自动化错误)。

有什么方法可以在保护模式关闭的区域中启用 navigator2 吗?

I'm automating IE8 from Excel VBA (Excel 2010, Windows 7)

Set IE = CreateObject("InternetExplorer.Application")
IE.Navigate2 URL

If URL is a website in a zone where IE protected mode is on, everything is fine.

If URL is a website in a zone where IE protected mode is off, the script fails (IE becomes automatically visible, IE object is lost in VBA - automation error).

Is there any way to enable navigate2 in zones with protected mode off?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

删除→记忆 2024-12-04 17:15:58

您想要做的是创建一个以中等完整性运行的 IE 实例,并在其中导航。通常,您可以使用 CoCreateInstance(CLSID_InternetExplorerMedium) 来完成此操作。目前,没有 ProgID 指向此 CLSID,但是,您可以轻松创建一个:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\InternetExplorer.ApplicationMedium]

[HKEY_CLASSES_ROOT\InternetExplorer.ApplicationMedium\CLSID]
@="{D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E}"

然后您可以这样调用此对象:

CreateObject("InternetExplorer.ApplicationMedium")

我在这里更全面地解释一下:http://blogs.msdn.com/b/ieinternals/archive/2011/08/03/internet-explorer-automation-protected-mode-lcie-default-integrity-level-medium.aspx< /a>

What you want to do is create an instance of IE running at Medium Integrity, and navigate that. Typically, you'd do that by using CoCreateInstance(CLSID_InternetExplorerMedium). Currently, there's no ProgID that points at this CLSID, however, it you can easily create one:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\InternetExplorer.ApplicationMedium]

[HKEY_CLASSES_ROOT\InternetExplorer.ApplicationMedium\CLSID]
@="{D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E}"

You can then invoke this object thusly:

CreateObject("InternetExplorer.ApplicationMedium")

I explain a bit more fully over here: http://blogs.msdn.com/b/ieinternals/archive/2011/08/03/internet-explorer-automation-protected-mode-lcie-default-integrity-level-medium.aspx

山川志 2024-12-04 17:15:58

通过 CLSID 获取 InternetExplorer.ApplicationMedium:

Set IE = GetObject("new:{D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E}")

Getting InternetExplorer.ApplicationMedium by CLSID:

Set IE = GetObject("new:{D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E}")
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文