Hallo Experten,
ich habe ein Excel-Makro geschrieben, indem aus einer Datentabelle bestimmte Werte ausgelesen und als .txt Datei gespeichert werden. Mit „shell“ ruft nun das Makro ein Microsoft-unabhängiges externes Programm auf, welches die txt-Datei liest und entsprechende Berechnungen durchführt. Die Ergebnisse werden dann wieder in einer anderen txt-Datei gespeichert und sollen von Excel anschließend wieder gelesen werden.
Nun zum Problem. Das externe Programm benötigt je nach Schnelligkeit des Rechners 10-12 Sekunden. Nun soll Excel so lange warten, bis das andere Programm fertig ist und die Ergebnis-Datei geschlossen hat. Ich habe zur Zeit eine Warteschleife von 15 Sekunden eingebaut und es funktioniert; aber nur auf meinem oder anderen schnellen Rechnern. Wenn das Programm woanders, z.B auf einem langsameren Rechner läuft, treten Fehlermeldungen auf, weil die Datei noch von dem externen Programm beschrieben wird.
Frage: Wie programmiert man das Makro, so dass es die Ausführung des externen Programms abwartet und erst dann die nächste Anweisung bearbeitet. Wenn ich mich Schrittweise durch das Makro debugge (mit F8) funktioniert es ja auch.
Fragt grüßend,
Marc