Seite 1 von 1

Programmaufruf -> Makro wartet auf Beenden...

Verfasst: Mi, 16.04.2008 10:13
von stoni
Hallo,

Ich rufe über ein Makro mit oShell.execute("...") ein externes Programm auf. In diesem Programm sollen Werte ausgewählt und in eine Datei zurückgeschrieben werden, die ich anschließend wieder in dem aufrufenden Makro weiterverarbeiten möchte.
Mein Problem: Wie kann ich es realisieren, dass die Makroabarbeitung so lange wartet, bis das aufgerufene Programm beendet wurde?

Vielen Dank!
stoni

Re: Programmaufruf -> Makro wartet auf Beenden...

Verfasst: Mi, 16.04.2008 11:01
von Toxitom
Hei stoni,

der Shell-Befehl startet einen neuen Prozess - außerhalb von OOo. Da wirst du auf eine Rückmeldung vergeblich warten....

Dass einzige, was ich mir vorststellen könnte:
Du nutzt den Shellbefehl von Basic - da kannst du den letzten Parameter (4.) setzen, dass Basic wartet, bis der aufgerufene Prozess beendet ist.

Oder: Endlosschleife in OOo und Abfrage eines Ereignisses (zum Beispiel Inhalt einer Zelle, die vom externen Programm beschrieben wird - weiter geht es erst nach dem Ereignis) also so etwas wie:

Code: Alles auswählen

...
flag = false
do until flag
   wait(1000)
   if oZelle.value > 0 then
     flag = true
   end if
loop
' hier geht es dann weiter...
Ist sicher nicht er schönste Weg - aber es fehlt natürlich der Gesamtzusammenhang.

Viele Grüße
Thoma

Re: Programmaufruf -> Makro wartet auf Beenden...

Verfasst: Mi, 16.04.2008 16:35
von stoni
vielen Dank!
Der einfache shell-Befehl würde mein Problem lösen - aber ich bekomme den Aufruf hier nicht mit UNC-Namen hin. Geht das generell?

Gruß stoni