0
包含终止IE实例的行导致Do Until
或我的宏冻结时出现自动化错误。该行用于确保没有旧的进程坐在内存中。VBA - 通过Shell终止Internet Explorer进程
当我进入调试,运行Shell行并等待一点时,这个问题没有出现,所以IE可以在执行下一行之前加载。
我不知道是否有任何方式来检测IE应用程序是否准备就绪。用name='iexplore.exe *32'
替换name='iexplore.exe'
不会使32位进程消失,也许一个消失并杀死其他实例可以使用循环?
Shell ("C:\Windows\system32\cmd.exe /c wmic process where name='iexplore.exe' call terminate")
Link = "http://www.example.com"
Set ie = CreateObject("InternetExplorer.Application")
ie.Navigate Link
Do Until ie.ReadyState = 4 And ie.Busy = False
DoEvents
Loop