Seite 1 von 1

Makro soll Formular schließen

Verfasst: Do 20. Feb 2014, 12:51
von cooltux
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

Re: Makro soll Formular schließen

Verfasst: Do 20. Feb 2014, 13:34
von pmoegenb