excel vba process taskmanager

excel - ¿Cómo puedo eliminar los procesos del administrador de tareas a través del código VBA?



process taskmanager (4)

Eche un vistazo a un ejemplo más:

Sub Test() If TaskKill("notepad.exe") = 0 Then MsgBox "Terminated" Else MsgBox "Failed" End Sub Function TaskKill(sTaskName) TaskKill = CreateObject("WScript.Shell").Run("taskkill /f /im " & sTaskName, 0, True) End Function

Estoy tratando de matar ciertos procesos a través de VBA. Tengo un objeto patentado que se conecta a un bus de datos del mercado. A través de RTD llamo a este objeto pub / sub al bus. Sin embargo, a veces la conexión se cae y necesito matar el proceso a través del administrador de tareas. ¿Hay alguna manera de matar un proceso a través de VBA?

Gracias


Prueba con este código

Dim oServ As Object Dim cProc As Variant Dim oProc As Object Set oServ = GetObject("winmgmts:") Set cProc = oServ.ExecQuery("Select * from Win32_Process") For Each oProc In cProc ''Rename EXCEL.EXE in the line below with the process that you need to Terminate. ''NOTE: It is ''case sensitive If oProc.Name = "EXCEL.EXE" Then MsgBox "KILL" '' used to display a message for testing pur oProc.Terminate() End If Next


Puedes realizarlo de esta manera:

Dim oServ As Object Dim cProc As Variant Dim oProc As Object Set oServ = GetObject("winmgmts:") Set cProc = oServ.ExecQuery("Select * from Win32_Process") For Each oProc In cProc ''Rename EXCEL.EXE in the line below with the process that you need to Terminate. ''NOTE: It is ''case sensitive If oProc.Name = "EXCEL.EXE" Then MsgBox "KILL" '' used to display a message for testing pur oProc.Terminate ''kill exe End If Next


Sub Kill_Excel() Dim sKillExcel As String sKillExcel = "TASKKILL /F /IM Excel.exe" Shell sKillExcel, vbHide End Sub