我正在使用Excel VBA(Excel 2010,Windows 7)自动化IE8
Set IE = CreateObject("InternetExplorer.Application")
IE.Navigate2 URL
如果URL是IE保护模式所在区域中的网站,则一切正常。
如果URL是IE保护模式关闭的区域中的网站,则脚本失败(IE变为自动可见,IE对象在VBA中丢失 - 自动化错误)。
有没有办法在保护模式关闭的区域中启用navigate2?
答案 0 :(得分:10)
您要做的是创建一个以中等完整性运行的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")
答案 1 :(得分:7)
通过CLSID获取InternetExplorer.ApplicationMedium:
Set IE = GetObject("new:{D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E}")