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