[gelöst] Writer vergisst Dokumentstatus
Verfasst: Do, 09.11.2006 11:54
Ich habe ein Problem mit dem Writer, kann aber nicht ausschließen, dass es auch auf den anderen OOo-Modulen auftauchen kann.
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:
Nur wenn hasLocation false ist, sollte mein Dialog aufgerufen und anderenfalls unter dem bereits bestehenden Namen gespeichert werden. Leider funktioniert das nur bedingt:
Wenn ich nach dem speichern einen Dateinamen (mit Fehlerbehandlung!) vergebe und mittels
speichere, scheint alles glatt zu gehen. Eine Fehlermeldung erscheint nicht und die Datei kann ich auf der Platte auch sehen.
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.
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.