🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 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 und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten