Seite 1 von 1
Re: Makro beim Schliessen einens Dokuments ausführen
Verfasst: Mo, 11.02.2008 13:27
von komma4
weiss gar nicht, ob das ein Problem ist: Daten, die mit Formularen verbunden sind, haben eine direkte Verbindung und sind damit "uatomatisch" in der DB.... Was möchtest Du denn speichern?
Re: Makro beim Schliessen einens Dokuments ausführen
Verfasst: Mo, 11.02.2008 15:48
von komma4
Das ginge über das "Dokument Schliessen"-Ereignis. Allerdings nicht beim Formular abzulegen, sondern im Bereich OOo - dann müsstest Du noch den Dateinamen abfragen, da sonst JEDES Schliessen betroffen ist.
Wie wäre es denn, wenn Du die Aktionen "Drucken", "Export als PDF" und "Schliessen des Formulars" zusammenlegst? Gibt es gar keinen Platz für eine Schaltfläche? (Wie druckst Du?)
Dann könntest Du auch einen Datensatz in einer Tabelle füllen, um den gesamten Bestellvorgang zu dokumentieren (unabhängig von der Dokumentation als PDF)
btw: sehe ich das richtig, dass in Deinem Code nur eine Bestellung pro Tag erlaubt ist (PDF-Name!)?
Re: Makro beim Schliessen einens Dokuments ausführen
Verfasst: Mi, 13.02.2008 14:50
von komma4
Marion hat geschrieben:wo ist denn dieser "Bereich OOo", an dem ich auf das Schließen eines Dokumentes Zugriff habe (über welches Menu komme ich dorthin?)?
Extras>Anpassen>Ereignisse
Bei Nicht-BASE-Dokumenten können neuerdings Ereignisse auch auf Dokumentenebene definiert werden.
Bei einem BASE-Dokument steht Dir nur "Speichern in: OpenOffice.org" zur Verfügung.
Re: Makro beim Schliessen einens Dokuments ausführen
Verfasst: Mi, 13.02.2008 18:09
von Toxitom
Hey Marion,
Marion hat geschrieben:Weiß jemand warum?
Ja. Weil dein Speichervorgang einfach einige Zeit braucht - das Makro aber nicht wartet und gleich die nächste Zeile ausführt - deinen Schliessen-Befehl. Und da du "False" übergeben hast, kümmert sich dieser auch nicht um evt. andere Prozesse, die das Schliessen verhindern - daher die Fehlermeldung. Der "Speichern"-Prozess benötugt das Dokument noch, gibt also eine Veto-Exception ab, der Schliessprozess kann nicht durchgeführt werden.
Entweder du baust eine Wartezeit vorher ein (z.B. ein "wait(1000)" - also 1 Sek. warten) oder du nimmst
dann wird die Verantwortung, das Dokument zu schliessen, an den Prozesss abgegeben, der das Veto eingelegt hat - und meist klappt es dann
Viele Grüße
Thomas
Re: Makro beim Schliessen einens Dokuments ausführen
Verfasst: Do, 14.02.2008 10:58
von komma4
Dieses CloseVeto kommt nun daher, dass Du nicht gespeichert hast...
Reihenfolge der Befehle sollte sein: Speichern - warten - close(TRUE)