Hallo eBayer,
(ich war das nicht mit dem zoomen...

)
also so richtig will es noch nicht laufen.
Hier noch einmal meine komplette Routine zum schließen (1x über Schließenkreuz / 1x über eigenen Button)
Code: Alles auswählen
Function isClosed() As Boolean
isClosed = bGlobalClosed
End Function
Function setClosed(bClosed)
bGlobalClosed = bClosed
End Function
Sub DATENBANK_Per_X_SCHLIESSEN 'an das Startformular (Dokument schliessen) gebunden
Dim oDoc As Object
Dim oDispatch As Object
if isClosed() = true then
exit Sub
end if
ThisComponent.Parent.store
'**********************************************************************************************************
oDoc = ThisComponent.CurrentController.Frame
oDispatch = createUnoService("com.sun.star.frame.DispatchHelper")
oDispatch.executeDispatch(oDoc, ".uno:CloseDoc", "", 0, Array()) ' jetzt das aktive Formular schließen
oDoc = ThisComponent.Parent.CurrentController.Frame
oDispatch = createUnoService("com.sun.star.frame.DispatchHelper")
oDispatch.executeDispatch(oDoc, ".uno:CloseDoc", "", 0, Array())
oDispatch.executeDispatch(oDoc, ".uno:CloseWin", "", 0, Array())
End Sub
'**********************************************************************************************************
Sub DATENBANK_SCHLIESSEN 'über eigenen Button
Dim oDoc As Object
Dim oDispatch As Object
ThisComponent.Parent.store()
setClosed(True) ' damit wird das erneute Schliessen bei Programmende verhindert
oDoc = ThisComponent.Parent.CurrentController.Frame
oDispatch = createUnoService("com.sun.star.frame.DispatchHelper")
oDispatch.executeDispatch(oDoc, ".uno:CloseDoc", "", 0, Array())
oDispatch.executeDispatch(oDoc, ".uno:CloseWin", "", 0, Array())
End Sub
Bei der Methode über den Button kommt es jetzt zu dieser Meldung:

in der letzten Zeile
oDispatch.executeDispatch(oDoc, ".uno:CloseWin", "", 0, Array()) , aber nur wenn noch andere Fenster von OOo geöffnet sind. Nehme ich die Zeile heraus, so bleibt das OOo Startfenster (neues Writerdokument / Calcdokument ...) geöffnet und OOo beendet nicht endgültig (sofern keine anderen Fenster geöffnet sind).
Was mache ich da noch falsch???