我正在制作简单的 vba 脚本,它将打开 IE,获取一些信息并退出。脚本打开 IE 35 次没有问题,但之后它可以工作,但不再打开 IE。
Sub Test()
for x=1 to 50
Dim objIE As Object
Set objIE = New InternetExplorer
Set objIE = New InternetExplorerMedium
objIE.Visible = True
objIE.Navigate2 "http://www.google.com"
objIE.Visible = False
Set objIE = Nothing
next x
End Sub
我真的不明白你想用你的代码做什么,但这里有一些可能有助于解决问题的提示:
你可以把你的浏览器的声明和集合都带出循环,你不需要每次都声明和设置它:
Dim objIE As Object
Set objIE = New InternetExplorerMedium
如果您再次将其设置objIE
为New InternetExplorer
,那么您为什么要设置为New InternetExplorerMedium
?那个动作没用。
在objIE.Navigate2 "http://www.google.com"
和之间,Set objIE = Nothing
您可能应该等待一些时间,至少使用Do While objIE.busy Loop
,因为您甚至没有给浏览器加载文档的时间,而您已经销毁了它。
该Set objIE = Nothing
还可以循环放出来了,你可以重新使用相同的浏览器,只要你想浏览尽可能多的联系。另外,在从内存中销毁它之前,不要忘记先退出它objIE.quit
如果它工作了 35 次并且从 36 日开始继续“工作但什么都不做”,那么当你到达那里时链接是否已损坏。您可以使用Debug.Print
每次要导航的链接上的进行检查。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句