我試圖通過VBA殺死某些進程。我有一個連接到市場數據總線的專有對象。通過RTD,我將此對象稱爲pub/sub到總線。但是有時連接會下降,我需要通過任務管理器來終止進程。有沒有辦法通過VBA殺死進程?如何通過VBA代碼殺死任務管理器進程?
感謝
我試圖通過VBA殺死某些進程。我有一個連接到市場數據總線的專有對象。通過RTD,我將此對象稱爲pub/sub到總線。但是有時連接會下降,我需要通過任務管理器來終止進程。有沒有辦法通過VBA殺死進程?如何通過VBA代碼殺死任務管理器進程?
感謝
與此代碼
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
更簡單一點,你可以使用:'Set cProc = oServ.ExecQuery(「Select * from Win32_Process Where Name =' EXCEL.EXE'「)'只獲取Excel進程。 – Andre 2017-05-16 14:32:24
'errReturnCode變量未定義' – 2018-03-05 20:43:25
@luigi洛佩茲現在看看,我編輯代碼 – 2018-03-06 10:06:57
看看更多的一個例子嘗試:
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
作品像一個魅力! – Termi 2017-01-24 14:27:54
哪些進程?我沒有倒下,但往往這些無聲的downvoters會這樣做,因爲這是因爲你迄今沒有顯示你的努力(或解釋爲什麼你的谷歌結果是沒有用的)來解決這個問題。它會幫助你和具有特定問題的下一個人。請[Check this out](http://stackoverflow.com/help/how-to-ask) – 2014-10-10 16:08:31