Warten auf Ende einer Shell Anweisung
13.08.2015 10:23:24
Hannes
ich bäuchte mal eure kompetente Hilfe :S
Ich entpacke mit Hilfe 7zip eine Datei über ein Shell Aufruf.
Klappt Wunderbar! ABER:
Wird danach die entpackte Datei direkt wetierverarbeitet, demnach muss ich mein Makro so lange pausiweren bis 7 Zip fertig mit entpacken ist. Eine Zwischenlösung ist hier Application.Wait (Now + TimeValue("0:00:05")). Allerdings ist das nicht optimal bei einer Laufzeit kleiner 5s und führt zum Fehler wenn die zu entpackende Datei mal größer ist als normal, also Laufzeit über 5s.
Wie kann ich Excel auf Beendung der Sehll Answeisung warten lassen?
Danke im Vorraus!
Hier mein CODE:
Dim fso As Object
'ausgewählte Datei entpacken mit 7-Zip
str7zipProgramm = "C:\Program Files\7-Zip\7z.exe" 'Pfad zur 7zip .exe
str7zipArchiv = GZDATEIPFAD 'Pfad zu entpackender Datei
str7zipOrdner = "D:\TEMP" 'pfad zielordner
Set fso = CreateObject("Scripting.FileSystemObject")
str7zipProgramm = fso.GetFile(str7zipProgramm).ShortPath
str7zipArchiv = fso.GetFile(str7zipArchiv).ShortPath
str7zipOrdner = fso.GetFolder(str7zipOrdner).ShortPath
Shell str7zipProgramm & " x " & str7zipArchiv & " -o" & str7zipOrdner, vbMinimizedNoFocus
'5s warten auf 7zip beendet
Application.Wait (Now + TimeValue("0:00:05"))