Zur einfachen Sortierung habe ich den Speichern-Dialog durch einen eigenen ersetzt. Um nicht jedesmal ein neues Dokument zu erzeugen, frage ich vor dem Aufruf meines Dialogs ab, ob das Dokument schon (unter einem Namen = Eigenschaft hasLocation) gespeichert wurde. An sich nichts besonderes, dachte ich. Hier der Quellcode:
Code: Alles auswählen
Sub Main
oDoc = ThisComponent
If oDoc.isModified() Then
If Not oDoc.hasLocation() Then
Abfrage
End If
End If
End Sub
Wenn ich nach dem speichern einen Dateinamen (mit Fehlerbehandlung!) vergebe und mittels
Code: Alles auswählen
On Error Goto Verzeichnisfehler:
oFile = ConvertToURL(oFile)
Dim D()
oDoc = ThisComponent
On Error Goto Dateifehler:
oDoc.storeToURL(oFile,D())
oDoc.Modified = False
On Error Goto 0
Allerdings scheint Writer vergesslich zu sein. Wenn ich nämlich nach einiger Zeit wieder auf Speichern klicke, kommt wieder mein Dialog zur Dateinamen-Abfrage

Ich gehe davon aus, dass der Fehler nicht an mir liegt

Wenn ich nämlich die Datei nach dem speichern sofort schließe und anschließend wieder öffne, klappt es. Wenn ich dann nämlich auf speichern klicke, wird das erledigt und mein Dialog erscheint nur, wenn ich Speichern unter wähle. Anmerken muss ich hierzu noch, dass nach dem speichern über meinen Dialog der Dateiname nicht - wie sonst gewohnt - in Fensterleiste vom Writer angezeigt wird. Beim Neuöffnen der Datei hingegen schon.
Hat jemand eine Idee?
Ich bin ziemlich am Verzweifeln, weil sich mein vergebener Dateiname aus Datum und Urzeit zusammensetzt und ich dann für ein und dieselbe Datei - je nachdem wie oft ich speichere - gleich mehrere Dateien im Verzeichnis befinden.