我正在使用以下代碼關閉所有IE窗口。這是錯誤處理的一部分,當我的大型函數掛起或崩潰時,它會自動啓動一個新窗口。當發生這種情況時,我想關閉所有的IE窗口,除了1(我想保持最後一個打開以維持會話,因此瀏覽器在再次打開時不必重新進行身份驗證)。關閉除VBA中的1以外的所有IE窗口
我可以更新下方,以便將關閉所有IE窗口除了最後一個循環(也沒關係指出具體的離開公開,公正,它讓一個開放)。
Function closeallIE()
Dim objWMI As Object, objProcess As Object, objProcesses As Object
Set objWMI = GetObject("winmgmts://.")
Set objProcesses = objWMI.ExecQuery(_
"SELECT * FROM Win32_Process WHERE Name = 'iexplore.exe'")
For Each objProcess In objProcesses
Call objProcess.Terminate
Next
Set objProcesses = Nothing: Set objWMI = Nothing
Debug.Print wait(3)
End Function
謝謝,但沒有奏效。我意識到終止命令關閉更多的Windows比打算這就是爲什麼我看到了奇怪的行爲 – SimaPro
嗯,有道理。然後我們需要獲得PID並且只關閉那些一個一個的實例。請參閱上面的代碼,它適合我。 – ib11
@SimaPro - 您看到解決方案嗎?我編輯了答案,以便使用不同的方法完全符合您的需求。 – ib11