Seite 1 von 1

Verhindern das ein Dokument geschlossen wird

Verfasst: Di, 29.04.2008 15:22
von Mandalor
Hallo,

ich habe ein Macro, welches bei einem Event (Document Close) einen eigenen Speicherdialog erzeugt. Funktioniert, wenn dieser jedoch abgebrochen wird, möchte ich nicht, dass das Dokument geschlossen wird. Wie kann ich Opeboffice das beispringen. Normalerweise hat eine function einen Rückgabewert, dem programm sagt, dass das Ereignis abgebrochen werden soll, bei OO habe ich hierzu aber leider nichts gefunden.

Hbt ihr eine Idee?

MfG

Markus

Re: Verhindern das ein Dokument geschlossen wird

Verfasst: Do, 01.05.2008 09:24
von turtle47
Hallo Markus,
Mandalor hat geschrieben:ich habe ein Macro, welches bei einem Event (Document Close) einen eigenen Speicherdialog erzeugt.
Du muss den umgekehrten Weg gehen. Zuerst den Speichern-Dialog erzeugen und dann nach dem speichern das Dokument schliessen.

Hier mal ein Beispiel für ein Calc-Dokument:

Code: Alles auswählen

Sub SpeichernUnter
Dim speicherDialog as Object
Dim dateiname As String
Dim DialogTyp(0)
Dim arg()
Dim antwort
Dim args1(0) as new com.sun.star.beans.PropertyValue

   kPfad = ThisComponent.URL
   sPfad = convertToURL("C:\")

   arg = Array(com.sun.star.ui.dialogs.TemplateDescription.FILESAVE_AUTOEXTENSION)
   speicherDialog = CreateUnoService("com.sun.star.ui.dialogs.FilePicker")
   With speicherDialog
        .Initialize(arg())
        .appendFilter("OpenDocument Tabellendokument (.ods)", "*.ods")
        .SetMultiselectionMode(False)
        .setDisplayDirectory(ConvertToURL(sPfad()))
        .SetTitle("Tabellendokument speichern")
        .setcurrentFilter("OpenDocument Tabellendokument (.ods)")
        .SetValue(com.sun.star.ui.dialogs.ExtendedFilePickerElementIds.CHECKBOX_AUTOEXTENSION, 0, true)
   End With

   antwort = speicherDialog.execute()
   If antwort = 1 Then
      datei = speicherDialog.Files(0)
      Thiscomponent.storeAsUrl(datei, args1())
      Thiscomponent.close (true) 'Dokument wird geschlossen
   End If
End Sub
Hilft das weiter?

Jürgen