Private Sub CommandButton1_Click()
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
objProcess.Terminate
Next
Set objProcesses = Nothing
Set objWMI = Nothing
Unload WebForm
End Sub
嘗試使用此方法在運行某些從基於Web的服務器檢索數據的函數之前關閉所有Explorer實例,但在嘗試運行時遇到問題用多個標籤關閉一個打開的瀏覽器。如果用戶只有一個IE窗口(一個選項卡)打開,那麼它關閉它就好了,繼續前進;如果這些用戶有多個窗口單獨打開(不是在一個窗口中選項卡),那麼它關閉它們都很好,然後繼續;但由於某種原因,如果一個窗口打開多個選項卡,則出現運行時錯誤'-2147217406(80041002)':「未找到」。任何幫助解決這個問題將不勝感激。通過VBA終止所有資源管理器實例 - Excel
一個快速骯髒的方式是圍繞'objProcess.Terminate'包裝'On Error Resume Next'和'On Error GoTo 0'。我在我的機器上進行了調試,發現第一個Terminate調用一次關閉了所有窗口,無論他們是否打開了多個選項卡。也許只是做一次並退出循環。 –