Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
976to980
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
976to980
976to980
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Programm aus Task Manager entfernen

Programm aus Task Manager entfernen
23.05.2008 11:47:00
mtremer
Hallo Excel-Freunde,
mein Code sollte eigentlich nach der Benuntzung des PDFCreators das Programm schliessen:
pdfjob.cClose
Set pdfjob = Nothing
Allerdings klappt das nicht immer.
Wie kann ich Excel sagen, dass er VOR Beginn der VBA-Aufgabe prüfen soll, ob der PDFCreator aktiv ist? Wenn ja, soll der Prozess im Task Manager beendet werden.
Danke für Eure Hilfe.
Viele Grüße
Marco

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Programm aus Task Manager entfernen
23.05.2008 12:29:15
Johannes
Hallo Marco,
ganz schlampig kannst du den Prozess mit Shell("taskkill /F /IM prozessname.exe", vbHide) toeten. Ansonsten sieht die Loesung ueber WMI ganz nett aus:
http://www.vbaexpress.com/kb/getarticle.php?kb_id=811
Gruesse,
Johannes D.

AW: Programm aus Task Manager entfernen
23.05.2008 12:36:47
mtremer
Hi Johannes,
danke für die Info.
Kannst Du mir noch sagen, wie ich vorher eine Abfrage machen kann, ob der Prozess läuft?
Ja: Shell("taskkill /F /IM prozessname.exe", vbHide)
Nein: einfach weitermachen.
Danke.
Viele Grüße
Marco

Anzeige
AW: Programm aus Task Manager entfernen
23.05.2008 12:57:00
Johannes
Hi Marco,
wie gesagt - die Shell()-Loesung ist schlampig ... geh lieber ueber die WMI:

Dim objWMIcimv2 As Object
Dim objList As Object
Dim objProcess As Object
Set objWMIcimv2 = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\.\root\cimv2")
Set objList = objWMIcimv2.ExecQuery _
("select * from win32_process where name='PDFCreator.exe'")
If Not objList.Count = 0 Then
For Each objProcess In objList
objProcess.Terminate
Next
End If


Ungetestet. :-)
Gruesse,
Johannes D.

super - danke
23.05.2008 13:36:00
mtremer
Du bist klasse: es funktioniert!
Danke.
Viele Grüße
Marco

Anzeige
Gerne ... /owt
26.05.2008 11:55:00
Johannes

118 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige