ich habe eine Funktion, die ich nun auch schon länger in Gebrauch habe, mit der wird beim Packen einer Datei überwacht wann Winzip seinen Prozess beendet hat.
Ein Kollege aus der EDV hat mir das mal zur Verfügung gestellt.
'
' Dies ist die Function die die Ausführung überwacht
'
Public Function ShellX( _
ByVal PathName As String, _
Optional ByVal WindowStyle As Long = vbMinimizedFocus, _
Optional ByVal Events As Boolean = True _
) As Long
'Deklarationen:
Const STILL_ACTIVE = &H103&
Const PROCESS_QUERY_INFORMATION = &H400&
Dim ProcId As Long
Dim ProcHnd As Long
'Prozess-Handle holen:
ProcId = Shell(PathName, WindowStyle)
ProcHnd = OpenProcess(PROCESS_QUERY_INFORMATION, True, ProcId)
'Auf Prozess-Ende warten:
Do
If Events Then DoEvents
GetExitCodeProcess ProcHnd, ShellX
Loop While ShellX = STILL_ACTIVE
'Aufräumen:
CloseHandle ProcHnd
End Function
Er meckert er würde die Sub oder Function nicht kennen OPEN PROCESS.
Ich habe versucht die Verweise neu zu setzen.
Habe VBA for appl.
Die 11er obj Library, wobei ich diese nicht abwählen kann weil er diese ständig in Gebrauch hat!?
Dann die OLE Automation.
Komischerweise habe ich auch nochmal die 11er OBJ.Bib!?
Von den VBA F. appl. habe ich zudem sehr viele Möglichkeiten!
Hoffe es hat jemand eine Idee!?
Vielen dank im Vorraus und Gruß
Lothar