Come posso eliminare i processi del task manager tramite il codice VBA?

Sto cercando di uccidere determinati processi tramite VBA. Ho un object proprietario che si collega a un bus dati di mercato. Attraverso RTD chiamo questo object a pub / sub per il bus. Tuttavia a volte la connessione si interrompe e ho bisogno di uccidere il processo tramite il task manager. C’è un modo per uccidere un processo tramite VBA?

Grazie

Prova con questo codice

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 

Dai un’occhiata ad un altro esempio:

 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