ich habe mal folgendes gemacht: [...]
das ist eine prima Anregung sofern es mich darauf bringt das eine batch-Datei garnicht nötig ist, sondern ein einzeiliges Makro reichen sollte:
Code: Alles auswählen
Shell("C:\Programme\OpenOffice.org 3\program\soffice.exe",1)
auch als Alternative zu dem Python-Script.
Im Taskmanger konnte ich keine doppelten Einträge von "soffice.bin" oder "soffice.exe" ausmachen, aaaber die "sbase.exe" bleibt leider hängen.
Vielleicht kann man das aber noch mit einem anderen "Close-Befehl" eliminieren.
sofern du das zu laufen bekommst wäre es interessant das zu diskutieren
Somit hat also Stephan Recht wenn er sagt:
Vielleicht darf ich das nochmal versuchen klarer zu sagen:
ich traue der Robustheit jeglicher Implementierung an dieser Stelle nicht, wenn Du jetzt schreibst das sbase.exe hängen bleibt ist das z.B. eine solche Stelle wo ich mich frage ob das immer, unter völlig beliebigen Bedingungen, reproduzierbar ist.
Aus meiner Erfahrung kann ich nur sagen das ich eben keine verlässliche Lösung kenne, wobei ich allgemeine die Ursache darin sehe das sich das Programm in verschiedenen Situationen verschieden beim Schliessen verhält, selbst beim Schliessen ein und desselben Dokuments, können abhängig von Begleitumständen völlig verschiedene Schließzeiten auftreten, was auch kein reines Zeitproblem ist.
anders gesagt:
ich würde alles das niemals nutzen wenn ich etwas beruflich programmiere, weil mir das zu unsicher wäre (=zu wenig robust bezüglich der Implementierung).
Müßte ich das was hier zur Debatte steht lösen, könnte ich das mit externer Programmierung tun (also kurz vor dem Beenden der Base-Datei ein externes Programm starten, welches den weiteren Ablauf dann unabhängig von OOo kontrolliert), was ich viel zu aufwändig fände oder, und so wäre hier wohl mein Vorschlag, ich würde mich darauf besinnen was überhaupt erreicht werden soll und da sehe ich eigentlich nur das das 'Startfenster' von OOo nach Schließen der Datenbank sichtbar sein soll.
Deshalb würde ich dieses Startfenster (genauer gesagt den 'Dialog' innerhalb des Startfensters) in Basic nachbauen und dann statt nur Schließen der Datenbank, vorher ein leeres Dokument versteckt öffnen, dann die Datenbank schließen und dann den Dialog anzeigen.
Alles das ist einfach und vor allem verlässlich implementierbar und von der ursprünglich geforderten Lösung kaum abweichend, außer das der Dialog nicht vor den Hintergrund der leeren OOO-Anwendung, sondern alleinstehend dargestellt würde.
Sorry, für diese etwas langatmigen Ausführungen, aber kürzer konnte ich das nicht ausdrücken.
Gruß
Stephan