6.1.2 Wie kann man Dokumente speichern?
Zum Speichern von Dokumenten stehen mehrere Methoden zur Verfügung.
Methode
Beschreibung
store()
Speichert das Dokument unter dem Namen mit dem es geöffnet ist. Ein neues Dokument ohne Namen (Unbenannt1) wird nicht gespeichert. Es gibt dann auch keine besondere Meldung.
storeAsUrl( sUrl as String, properties as com.sun.star.bean.PropertyValue  )
Speichert das Dokument unter dem angegebenen Namen (sUrl). Dieser Name muß die gesamte Pfadangabe und im richitigen Format sein (convertourl). Das offene Fenster des Dokumentes erhält den Namen von sUrl. Mit den Properties werden mögliche Filtereinstellungen übergeben, z.B. um Dokumente in einem anderen Format zu speichern.
storeToUrl( sUrl as String, properties as com.sun.star.bean.PropertyValue)
Speichert das Dokument unter dem angebeben Namen (sUrl), an einem neuen Ort. Dieser Name muß die gesamte Pfadangabe und im richitigen Format sein (convertourl). Das offene Fenster des Dokumentes behält den alten Namen. Mit den Properties werden mögliche Filtereinstellungen übergeben, z.B. um Dokumente in einem anderen Format zu speichern.
 
 
Zusätzlich gibt es noch Methoden um den Zustand eines Dokumentes zu prüfen.
hasLocation()
Gibt True zurück wenn die Datei bereits gespeichert worden ist.
Mit der Abfrage getUrl kann dies auch prüfen. Wenn das Dokument noch nicht gespeichert worden ist, ist der Rückgabewert ein leerer String.
getLocation() oder getUrl()
Gibt den kompletten Pfad des Dokumentes zurück. Der String ist leer bei einem neuen Dokument.
isModified()
Gibt True zurück, wenn das Dokument geändert wurde.
isReadOnly()
Gibt True zurück, wenn das Dokument nur zum Lesen geöffnet wurde.
Hier ein Beispiel für Speichern ohne besondere Filter. Dabei wird das Dokument im eingestellten Standardformat für den jeweiligen Dokumententyp gespeichert.
Sub Speichern
   dim dummy()
   datei="c:\test2.sxw"
   dateiurl=converttourl(datei)
   odoc=thisComponent
   odoc.storeasurl(dateiurl,dummy())
rem oder
rem    odoc.storetourl(dateiurl,dummy())
End Sub
Dummy() muß als Array definiert werden, sonst kommt es zu einer Fehlermeldung. Beachten muß man auch das die Endung des Dateitypes mit der URL übergeben werden muß. Steht dort sxc statt sxw wird das Dokument trotzden im Writerformat gespeichert. Auch das Weglassen eines Suffix wird ingnoriert.
Über die Verwendung der Filter stehen hier Informationen:Wie lauten die möglichen Filter zum Speichern und Exportieren von Dokumenten?