Ich hatte das Problem schon vor einiger Zeit einmal behandelt. Leider hatte ich mir damals nicht die Zeit für ein Minimalbeispiel genommen. Das hole ich hiermit nach:
Die Problemstellung:
1) Das Tabellendokument wird geöffnet
2) Es erscheint sofort nach dem öffnen (Makro Fensterstart ist Ereignisgesteuert) ein Dialogfenster
3) Auf dem Dialogfenster (Dia) gibt es nur einen Knopf
4) Bei der Betätigung des Knopfs wird das Tabellendokument gespeichert und anschließend geschlossen
Fertig
Nun der Code im Modul [Test.ods].Standard des Tabellendokuments Test.ods
Code: Alles auswählen
OPTION EXPLICIT
Dim ODia as Object
Sub Knopfdrueck
Dim Pfad as string
Pfad = ThisComponent.getURL()
ODia.endExecute()
ThisComponent.storeAsURL(Pfad, Array())
ThisComponent.close(True)
End Sub
Sub Fensterstart
DialogLibraries.LoadLibrary("Standard")
ODia = CreatUnoDialog(DialogLibraries.Standard.Dia)
ODia.execute
End Sub
Beim öffnen des Dokument wird der Dialog Fehlerfrei geöffnet. Klickt man jedoch auf den Knopf im Dialogfenster (der natürlich mit dem Makro Knopfdrueck verknüft sein muss) so wird das Dokument zuerst geschlossen, und anschließend erscheint sofort ein Fenster von OpenOffice.org Dokumentwiederherstellung, da das Dokument angeblich abgestürzt sei und daher wieder hergestellt werden müsste.
Nun das Lustige:
Führt man das Makro Fensterstart nicht automatisch (also Ereignisgesteuert) aus, sonder per Hand, so funktioniert alles perfekt.
Mir ist klar, dass das Programm so wenig Sinn macht, aber wie oben geschrieben handelt es sich hier um ein Minimalbeispiel.
Selbst nach eifriger Recherche in diversen Foren und Büchern konnte ich bisher keine Lösung finden.
Ich bitte verzweifelt um Mithilfe.