🍀 Das LibreOffice Forum braucht HEUTE Ihre Hilfe! 🍀
❤️ Spenden Sie jetzt und sichern Sie die Zukunft unseres LibreOffice-Forums ❤️
Ihre Spende hilft, die Community offen, werbefrei (bei Registrierung) und lebendig zu halten. Vielen lieben Dank!

🙏 DANKE >> << DANKE 🙏

>> Das LibreOffice-Forum lebt von Ihnen – und von vielen Experten, die freiwillig und kostenlos ihr Wissen teilen.<<
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

Makro soll Formular schließen

Alles zur Programmierung im LibreOffice.
Antworten
cooltux
Beiträge: 7
Registriert: Mo 17. Feb 2014, 15:31

Makro soll Formular schließen

Beitrag von cooltux » Do 20. Feb 2014, 12:51

Hallo Leute


Code: Alles auswählen

Sub close_Window
   Dim Document   as Object
   Dim Dispatcher as Object
   Dim oForm as Object

' Frage für MsgBox
   Frage = "Möchten Sie das Formular wirklich schließen "+chr(13)+_
            "und alle Eingaben speichern? "
   
' falls auf Nein geklickt, Sub verlassen         
   If  MsgBox ( Frage,36) = 7 Then
      Exit Sub
   End If

' Zugriff auf Dokument
   Document   = ThisComponent.CurrentController.Frame
   Dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
   
' Änderungen im Formular speichern, nicht im ungespeicherten Datensatz
   Dispatcher.executeDispatch(Document, ".uno:Save", "", 0, Array())
   
' Zugriff auf das Formular und speichern des aktuellen Datensatzes
   oForm = ThisComponent.DrawPage.Forms.getByName("F_Main")  ' geht auch: Forms(0)
   If oForm.IsNew then oForm.InsertRow else oForm.UpdateRow   
   
' Formular schließen
   ThisComponent.CurrentController.Frame.Close(False)

End Sub
Das Formular wird geschlossen und die Daten auch gespeichert.
Leider bekomme ich eine Fehlermeldung wenn ein leerer Datensatz vorhanden ist oder wenn Felder noch nicht gefüllt sind welche aber zwingend gefüllt sein sollen. Wie kann ich das umgehen oder schöner machen. ein Basic Error ist für den normalen User nicht sehr aussagekräftig.



Grüße



An alle, die das LibreOffice-Forum gern nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das laufende.
Einfach per Kreditkarte oder PayPal. Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.



❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten