Shell .bat Pause einlegen bis durch mit on error go to?
28.06.2024 11:31:12
Frank Dreier
ich will eigentlich "nur" dass Excel wartet bis die .bat Datei durchgearbeitet ist. Funktioniert wohl irgendwie aber ist recht kompliziert, hängt vom Windows ab usw.
Nun mein Workaround und Eure Meinung dazu:
Ich baue eine Fehlerabfrage ein und lasse Excel einfach eine Extra-Runde drehen bis der Fehler nicht mehr auftaucht.
Der Fehler ist das öffnen einer neu geschaffenen batende.txt Datei durch die .bat Datei was ich ganz am Ende der .bat Datei erst angebe. Also diese batende.txt wird erst erschaffen, wenn die .bat Datei durchgearbeitet ist.
Da Excel bis zum durcharbeiten ja keine .txt findet wird ein Error ausgelöst und lässt Excel im Code wieder und wieder zurückspringen bis eben diese .txt gefunden wird und erst dann würde Excel weiterrechnen,- so wie es sein soll.
So habe ich das vor:
On error go to fehler
Shell ("C:\test.bat") 'das ist die .bat die bis zum Ende abgearbeitet werden soll
fehler:
Application.Wait Now + TimeSerial(0, 0, 1)
Workbooks.OpenText Filename:="C:\batende.txt" 'und diese batende.txt kann Excel erst finden wenn die .bat durchgearbeitet ist, da erst dann diese batende.txt durch die .bat geschaffen wird
Range("A1:A100").copy
.....
'hier im folgenden kommt erst der Code mit dem Excel weiterarbeiten soll...
das müsste doch gehen, oder?
Anzeige