我正在从 Excel VBA 自动化 IE8(Excel 2010、Windows 7)
Set IE = CreateObject("InternetExplorer.Application")
IE.Navigate2 URL
如果 URL 是处于 IE 保护模式打开的区域中的网站,则一切正常。
如果 URL 是 IE 保护模式关闭的区域中的网站,则脚本将失败(IE 自动变为可见,IE 对象在 VBA 中丢失 - 自动化错误)。
有什么方法可以在保护模式关闭的区域中启用 navigator2 吗?
您想要做的是创建一个以中等完整性运行的 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 http://blogs.msdn.com/b/ieinternals/archive/2011/08/03/internet-explorer-automation-protected-mode-lcie-default-integrity-level-medium.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)