in unserem Unternehmen dürfen OpenOffice-Dokumente z.Zt. nur schreibgeschützt geöffnet werden.
Dies wird folgendermaßen erreicht:
Dem Ereignis 'Dokument öffnen' (unter Extras - Anpassen - Ereignisse) wird ein Makro zu gewiesen und in der Applikation (openoffice.org) gespeichert. Dieses Makro wird also jedesmal ausgeführt, wenn ein OpenOffice-Dokument geöffnet wird. Das Dokument wird dann schreibgeschützt geöffnet. Das Makro steht in 'Meine Makros&Dialoge.Standard' und sieht folgendermaßen aus:
Code: Alles auswählen
Sub Reading
rem
'----------------------------------------------------------------------
rem Variablen defininieren
dim document as object
dim dispatcher as object
'----------------------------------------------------------------------
rem Zugriff auf das Dokument
document = ThisComponent.CurrentController.Frame
controller = ThisComponent.getCurrentController()
'----------------------------------------------------------------------
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:EditDoc", "", 0, Array())
End Sub
Frage:
Kann man das auch ohne Dispatchercode umsetzten?
Ich dachte da an folgendes. Mit:
Code: Alles auswählen
Dim myProps(0) as New com.sun.star.beans.PropertyValue
sUrl= "file:///C:/test.sxw"
myProps(0).Name="ReadOnly"
myProps(0).Value = true
oDocument = StarDesktop.loadComponentFromURL(surl, "_blank", 0, myProps() )
Wie müsste ich den Code ändern, damit bei jedem Öffnen einer Datei der Schreibschutz gesetzt wird?
Gruss
Thomas