ich komme von VBA und arbeite mich gerade in die Tiefen der Open Office Programmierung ein.
Frage: ist es möglich, in dokumenttypische Vorgänge, z.B. „Dokument speichern“ = „Document.OnSave“ Code einzuklinken?
Anwendung: ich möchte gerne unmittelbar vor dem Speichern eines Dokuments noch Makros ausgeführt haben, die z.B. den Dokumenteninhalt auf Plausibilität prüfen, und ggf. das Speichern sogar abbrechen können.
Gibt das Programmiermodell von OO basic solche Eventhandler her?
Anwendung: ich möchte gerne unmittelbar vor dem Speichern
eines Dokuments noch Makros ausgeführt haben, die z.B. den
Dokumenteninhalt auf Plausibilität prüfen, und ggf. das
Speichern sogar abbrechen können.
Hallo Armin,
es geht schon im Event des Dokumentspeicherns ein Makro ausführen zu
lassen mit Extras—Anpassen—Ereignisse—Dokument sichern.
Dem Ereignis ein Makro zuweisen wie hier auf dem Bild schon geschehen: http://www.pic-upload.de/view-19535041/kwSpeichern.j…
Aber das ist ja ein völlig normales Makro wo man nicht wie
in Vba Workbook_BeforeSave(…) mit Cancel das Speichern abbrechen
lassen kann.
Man könnte probieren eine Msgbox einzubauen oder stop oder End wenn
Starbasic das bietet aber ob man dann damit das Speichern verhindern
kann glaube ich nicht aber ungetestet.
Alternativ könntest du deine Plausibilitätsprüfung in einem
Makro durchführen und je nach Ergebnis speicherst du das Dokument oder nicht. Nachfolgend ein Codebeispiel dafür.
PS: Code habe ich grad frisch aus dem Netz geholt, weiß zum Code
also soviel wie du
Gruß
Reinhard
Sub Speichern
dim dummy()
datei="K:\kwtest2.xls"
dateiurl=converttourl(datei)
odoc=thisComponent
odoc.storeasurl(dateiurl,dummy())
'odoc.storetourl(dateiurl,dummy())
End Sub
Anwendung: ich möchte gerne unmittelbar vor dem Speichern
eines Dokuments noch Makros ausgeführt haben, die z.B. den
Dokumenteninhalt auf Plausibilität prüfen, und ggf. das
Speichern sogar abbrechen können.
Hallo Armin,
es geht schon im Event des Dokumentspeicherns ein Makro
ausführen zu
lassen mit Extras—Anpassen—Ereignisse—Dokument sichern.
Dem Ereignis ein Makro zuweisen wie hier auf dem Bild schon
geschehen: http://www.pic-upload.de/view-19535041/kwSpeichern.j…
Vielen Dank für den hinweis, ich denke damit bekomme ich das was ich machen möchte gebacken. Nicht ganz so wie gewünscht von der guten Fee, aber ausreichend.
Vielen Dank für den hinweis, ich denke damit bekomme ich das
was ich machen möchte gebacken. Nicht ganz so wie gewünscht
von der guten Fee, aber ausreichend.
Hallo Armin,
ich experimitiere auch mit Starbasic von OO-Calc.
Weißt du einen Weg um im Editor Prozeduren testen zu können?
Bei einer Prozedur im Modul geht das ja mit F5.
Aber sind mehrere Prozeduren im Modul bewirkt F5 daß die
oberste Prozedur ausgeführt wird. Das will ich aber nicht,
ich möchte wie in Excel daß nur die Prozedur ausgeführt wird in
die ich grad deshalb meinen Cursor reingestellt habe.