我目前正在使用以下子程序在自动化后关闭我的 IE:
Public Sub CloseIE()
Dim Shell As Object
Dim IE As Object
Set Shell = CreateObject("Shell.Application")
For Each IE In Shell.Windows
If TypeName(IE.Document) = "HTMLDocument" Then
IE.Quit
End If
Next
End Sub
这很好用,但是当我尝试再次运行 IE 代码时出现问题,我得到以下信息:
运行时错误'-2147023706 (800704a6)':
自动化错误
系统关闭已安排。
20 秒后,我可以重新运行代码。有没有办法“强制关闭”IE,以便我可以在没有错误的情况下直接再次运行代码?
EDIT:
下面是启动 IE 的代码:
Sub testSub()
Dim IE As Object, Doc As Object, strCode As String
Set IE = CreateObject("internetexplorer.application")
IE.Visible = True
IE.Navigate "website name"
Do While IE.ReadyState <> 4: DoEvents: Loop
Set Doc = CreateObject("htmlfile")
Set Doc = IE.Document
CODE HERE
CloseIE
End Sub
我使用了一个简单的过程来创建一个InternetExplorer
对象,导航,然后使用关闭它IE.Quit
and Set IE = Nothing
.
显然,关闭后,互联网仍在后台运行大约一分钟(我注意到它使用任务管理器、后台进程)。我进入 Internet Explorer 选项并取消单击“退出时删除浏览历史记录”.
这解决了我的问题。我不确定为什么 IE 需要那么长时间来清除历史记录,我也不确定是否有解决方法,但这是迄今为止对我来说唯一可行的选择。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)