| |
VB Skript (VBS)Script um Prozesse (excel) zu beenden | | | Autor: vlt. | Datum: 25.08.10 10:21 |
| Hey Leute,
ich wollte folgendes basteln, und zwar wird das Skript gestartet.
Nun soll es schaun, ob ein Excel-Prozess läuft...wenn ja, dann soll dieser nach 3 Minuten beenden werden.
Sollte in der Zwischenzeit ein weiterer Excel-Prozess auftauchen, soll dieser natürlich auch nach 3 Minuten beendet werden usw.
Habe jedoch das Problem, dass er mir sofort alle Excel-Prozesse abschießt.
Wenn kein Excel läuft, soll halt ständig überprüft werden, ob ein Excel-Prozess läuft oder nicht....
Das Skript funktioniert teilweise, seht ihr paar Fehler oder die Möglichkeit es einfacher zu gestalten?!
(PID? also Prozess ID um Excel-Prozesse zu unterscheiden?!)
Folgender Fehler taucht auch unteranderem auf:
Objekt erforderlich "WshShell"
Danke und Gruß
Volti ;)
'Zeit: WScript.Sleep 1000 * 60 * 3 'ms * secs per min * minutes
'------------------------------------------------------------------------------
' ---------
'Überprüft ob EXCEL läuft:
'------------------------------------------
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'excel.exe'")
'Wenn EXCEL läuft, wird eine Info ausgeworfen und der Prozess wird dann nach 3
' Minuten beendet:
'------------------------------------------------------------------------------
' -------------------
If colProcesses.Count = 1 Then
Dim Answer
Set WshShell = WScript.CreateObject("WScript.Shell")
Answer = WshShell.Popup("Excel wird in 3 Minuten beendet!", 3, "Info", 0 + 64)
WScript.Sleep 1000 * 60 * 3 'ms * secs per min * minutes
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
i=kill
Do while i=kill
Set colProcessList = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'excel.exe'")
For Each objProcess in colProcessList
objProcess.Terminate()
Next
WScript.Sleep 1000 * 60 * 3 'ms * secs per min * minutes
Loop
'Wenn EXCEL nicht läuft, dann überprüfe in 5 Minuten wieder nach ob es läuft (
' =BEGINNE DIESES SCRIPT VON VORNE)
'------------------------------------------------------------------------------
' -------------------------------------
Else
Wscript.Sleep 1000 * 60 * 5 'ms * secs per min * minutes
end if
'Hier den Pfad Eingeben, wo dieses Script liegt, am besten im Autostart!
'------------------------------------------------------------------------------
' ------------------------
Return = WshShell.Run ("Pfad") | |
Script um Prozesse (excel) zu beenden | 3.603 | vlt. | 25.08.10 10:21 |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats Neu! sevEingabe 3.0
Einfach stark!
Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. Weitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|