AW: vba excel löschen externer Programme
22.11.2020 12:51:30
Michael
Hallo Firmus,
bei mir dauert halt alles schon ein wenig länger, aber das Beispiel hat mir sehr geholfen, es ist in mein Projekt gut einzufügen.
Die benötigten Programme öffnet und schließt eine Schleife, darum verwende ich die Variable mobjprocess.Name.
Anbei der ergänzte Code inkl. Variablen Deklarationen.
Nicht funktioniert 'Cells(a, 2).Value = objprocess.Path.Relpath, aber das benötige ich auch nicht.
Euch allen herzlichsten Dank ich hab wieder einiges gelernt!
Sub Prozesse_auflisten()
Dim objWindowsService As Object
Dim colProcessList As Object
Dim objprocess As Object
Dim a As Integer
Dim mlonLetzteZeile As Long
'alte Liste köschen
mlonLetzteZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
writeLog " & mlonLetzteZeile = " & mlonLetzteZeile
ActiveSheet.Range(Cells(1, 1), Cells(mlonLetzteZeile, 1)).Clear
'** Alle Prozesse ab Zelle A1 auflisten
'** Vorgaben definieren
Set objWindowsService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\.\root\cimv2")
'** Abfrage der aktiven Prozesse
Set colProcessList = objWindowsService.ExecQuery _
("SELECT * FROM Win32_Process")
'** Selektierte Prozessliste durchlaufen
For Each objprocess In colProcessList
a = a + 1 'Zeilenzähler
Cells(a, 1).Value = objprocess.Name 'Ausgabe
'Cells(a, 2).Value = objprocess.Path '.Relpath
Next objprocess
End Sub
Sub Windowsprozess_beenden()
Dim mobjWindowsService As Object
Dim mobjProcessList As Object
Dim mobjprocess As Object
Dim mstrProcessName As String
mstrProcessName = "notepad++.exe"
'** Definierten Prozess beenden
'** Vorgaben definieren
Set mobjWindowsService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\.\root\cimv2")
'** Abfrage der aktiven Prozesse
Set mobjProcessList = mobjWindowsService.ExecQuery _
("SELECT * FROM Win32_Process WHERE Name = '" & mstrProcessName & "'")
'** Selektierte Prozessliste durchlaufen
For Each mobjprocess In mobjProcessList
writeLog mobjprocess.Name
mobjprocess.Terminate 'Prozess beenden
Next mobjprocess
End Sub
Beste Grüße
Michael