Seite 1 von 1
Verändern eines schreibgeschüzten Dokumentes
Verfasst: Fr, 07.01.2005 13:14
von powerede
Diverse Operationen muss ich auf ein schreibgeschützes Dokument anwenden.
Die Datei liegt ReadOnly auf einen Fileserver, kann ich den Dokumentenschutz irgendwie ausschalten ohne es an einem anderen Ort zu speichern?
Verfasst: Sa, 08.01.2005 10:39
von Toxitom
Hey Powerede,
..kann ich den Dokumentenschutz irgendwie ausschalten..
Theoretisch ja. Aber....
Mit der Funktion GetAttr(Pfad) kannst du die Dateiattribute auslesen, mit SetAttr(Pfad, attr) die Attribute setzen - vorausgesetzt, der Server erlaubt das!
Biede Basic-Funktionen sind in der Hilfe beschrieben - da solltest du weiterkommen. Aber bedenke etwas: Die Funktionen favorisieren die Windows-Struktur. Unix/Linux mit dem etwas differenzierteren Modell werden nur ganz pauschal unterstützt - Attribut = 1 (read only) -> "r..r..r..", Attribut = 0 (normal) -> "rwxrwxrwx".
Gruss
Thomas
Verfasst: Mi, 12.01.2005 11:46
von powerede
Das Dokument ist tatsächlich serverseitig absichtlich mit dem Schreibschutz versehen.
Meine Lösung sieht nun wie folgt aus:
Code: Alles auswählen
'Oeffnen der schreibgeschuetzten Datei
oDoc= StarDesktop.loadComponentFromURL(ConvertToURL(DATEINAME_READONLY), "_blank", 0, Array())
'Speichern der Datei
dim args(0) as new com.sun.star.beans.PropertyValue
myUrl= ConvertToUrl(DATEINAME_NEU)
thisComponent.storeasurl(myUrl,args())
Das funktioniert soweit.
Was mich aber noch sehr stört ist, dass ich das Speichern auf
thisComponent und nicht auf
oDoc ausführe.
Kann ich das auch auf oDoc ausführen, denn dann erwische ich in jedem Fall das richtige Dokument?
Verfasst: Mi, 12.01.2005 12:01
von Toxitom
Hey Powerede,
Kann ich das auch auf oDoc ausführen, denn dann erwische ich in jedem Fall das richtige Dokument?
Sicher. Warum nicht? Das Dokument unterstützt StoreAsURL(), kannst du also direkt darauf ausführen.
Wenn du einen leeren Array übergibst, reicht ohne weiteres
Dim args()
da brauchst du kein spezielles Objekt erzeugen.
Gruss
Thomas