Base: Schliessen des Formulars über X-Button in Windows abfangen

Kann ich in LibreOffice Base per Makro das Schliessen des Formulars abfangen? Ein direktes “OnClose”-Event, das dies bewerkstelligen könnte, erkenne ich im Formular nicht.

Wenn ja, über welchen Weg ist dies möglich?

Wenn ja, ist dies über einen Listener implementierbar und wie müsste der Listener das Schliessen des Formulars abfangen?

Gruß Tom

Hallo Tom,

Bitte Dir um Entschuldigung fuer meine Arrogance. Bin froh Dir die folgende routine des Buttons entsprechend zu posten.

Sub CloseForm(oEvent)
oForm = oEvent.Source.Model.Parent
MsgBox oForm.Name
oForm.close
End Sub

Probiere mal mit diesem Beispiel:
New Database.odb (14.0 KB)

Hi Nicholas59,
Danke.

Aber das würde nur helfen, wenn Du mir auch noch sagst, mit welchem Ereignis ich in Windows das Schliessen des Fensters über das X oben im Rahmen abfangen könnte.

Das Problem ist, das alle möglichen Ereignisse innerhalb von LibreOffice nur dann abgefangen werden können, wenn es dazu definierte Ereignisse gibt. Beim Button drücken wird ein entsprechendes Ereignis ausgelöst, das hier künstlich “CloseForm” heisst, aber genauso “xyz” heissen könnte.

Im Falle des X (=Schliessen) in Windows (oben rechts im Rahmen eines Windows-Fensters) benötige ich ein per Listener erzeugtes Ereignis. Und wie ich dieses Ereignis erfolgreich erzeugen und davon ausgelöste Ereignismeldungen abgefangen kann - dafür suche ich eine Lösung.

Gruß Tom

Hello Tom,

Bedanke mich fuer deine Nachricht. Sicherlich solltest Du wißen, daß ungefaehr alle “Fenster”, bei der Kombination Alt+F4 in Windows zugemacht werden koennen, dies unabhaengig von besonderer Programme.

Verzeihe mich fuer kurze Makros Studium. Verspreche Dich daß ich weiter lernen wurde.

Mit Freundlichen Grueßen

Hallo Tom,

Es geht um ein Mißverstaendnis meinerseits. Habe verschiedene Mal den Knopf zu druecken versucht, aber ohne Erfolg. Deshalb bitte ich Dir folgenden Feil zu pruefen. Es stimmt jetzt.

New Database.odb (14.3 KB)

@TomH : Du willst ja nur mit bekommen, ob ein Formular in einer Base-Datei geschlossen wird, oder? Das geht über das Hauptfenster von Base: Extras → Anpassen → Ereignisse → Unterdokument wurde geschlossen.
Ansonsten für das einzelne Formular: Extras → Anpassen → Ereignisse → Dokument wird geschlossen.

Hi Robert,
Danke - genau das habe ich gesucht.
Das Schliessen des Formulars kann ich dadurch feststellen, egal, wie das Formular geschlossen wird.
Prima, Danke.
Gruß Tom

Hallo Tom,

War es dabei so wichtig fuer Dich einen Push-Button verwenden? Erinnerst Du doch was Jimi Hendrix sagte in der Wight Insel? “no buttons to push”… :grinning: