Dokument schreibgeschützt öffnen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

toni
***
Beiträge: 66
Registriert: Mi, 03.01.2007 10:26

Dokument schreibgeschützt öffnen

Beitrag von toni »

Hallo zusammen,

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
Das funktioniert soweit.

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() )
öffne ich aus OpenOffice heraus eine Datei im schreibgeschützten Modus.
Wie müsste ich den Code ändern, damit bei jedem Öffnen einer Datei der Schreibschutz gesetzt wird?

Gruss

Thomas
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Beitrag von komma4 »

Wie wäre es die Dokumente auf einem Laufwerk/Verzeichnis abzulegen, wo die Benutzer nur lesenden Zugriff haben?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
toni
***
Beiträge: 66
Registriert: Mi, 03.01.2007 10:26

Beitrag von toni »

Hallo komma4,

das ganze muss schon programmtechnisch abgefangen werden. Das ist auch nur der erste Schritt. Für ein bestimmtes Programm muss der Schreibschutz nämlich per Makro wieder aufgehoben werden.

Gruss

Thomas
Antworten