通过VBA – Excel终止所有资源管理器实例

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)’:“未找到”.任何帮助解决这个问题将不胜感激.

最佳答案 不完全是你问的,但另一种方法使用PowerShell并包含一个选项(从 here关闭窗口,只有IE已打开超过X秒.

Sub Comesfast()
X2 = Shell("powershell.exe get-process iexplore | ? { ([DateTime]::Now - $_.StartTime).TotalSeconds -gt 05 } | stop-process", 1)
End Sub
点赞