Hallo,
gibt es eine Möglichkeit, ein ods Dokument so einzustellen, dass man es lesen kann mit OO, aber der Quelltext soll verschluesselt sein. Irgendwie verstehe ich das Passortsystem nicht. Ich kann ja eine Dokument mit Passwort speichern, dann kann man zwar auch das ods entpacken aber der Code ist verschluesselt. Ich möchte aber so eine Variante haben, bei der das ods geöffnet werden kann ohn e Kennwort eingabe, die content.xml aber nicht einsehbar ist und auch einzelne Tabellenblätter sollen einen Blattschutz haben, so dass keine darin etwas verstellen kann.
Gruß, H.
Passwortfrage zu OO Calc
Moderator: Moderatoren
Irgendwie verstehe ich das Passortsystem nicht. Ich kann ja eine Dokument mit Passwort speichern, dann kann man zwar auch das ods entpacken aber der Code ist verschluesselt.
Das verstehe ich nun wiederum nicht - Du beschreibst völlig zutreffend wie die Situation ist und gleichzeitig schreibst Du Du verstehst nicht wie sie ist?
Das kann rein logisch nicht funktionieren, zumindest nicht in dem Sinne wie Du es willst, denn mit Öffnen meinst Du ja wohl die Datei soll angezeigt werden. Das ist aber nur möglich wenn das Programm Zugriff auf den anzuzeigenden Inhalt hat, ist dieser verschlüsselt hat es keinen Zugriff.Ich möchte aber so eine Variante haben, bei der das ods geöffnet werden kann ohn e Kennwort eingabe, die content.xml aber nicht einsehbar ist
Theoretisch kann ich mir vorstellen auch eine Datei zu öffnen ohne etwas anzuzeigen, indem man beispielsweise die benutzte Content.xml temporär gegen eine leere tauscht, nur das ist es wohl nicht was Du willst, denn dann ist ja nichts zu sehen.(*)
das geht mit Extras-Dokument schützenauch einzelne Tabellenblätter sollen einen Blattschutz haben
das geht leider (wie bei Excel auch) nicht wirklich, es findet keine Verschlüsselung statt und der Schutz kann jederzeit von jederman aufgehoben werden, im Prinzip indem Du die Dateien in einem Editor veränderst, praktisch aber bequemer indem Du eine Excel-Datei in Calc öffnest oder eine Calc-Datei als Excel speicherst und dann in Calc öffnest. In beiden Fällen kann der Schutz anschließend ohne das Passwort zu kennen deaktiviert werden.so dass keine darin etwas verstellen kann
(*)
Da Du nichts darüber schreibst das Du nur die manuelle Passworteingabe vermeiden willst, wird Dir eine automatische Lösung kaum weiterhelfen, aber es wäre möglich Passwörter per Makro zu setzen, beispielsweise:
Code: Alles auswählen
Sub geschuetztes_oeffnen()
arg = Array(com.sun.star.ui.dialogs.TemplateDescription.FILEOPEN_SIMPLE)
dialog = CreateUnoService("com.sun.star.ui.dialogs.FilePicker")
dialog.Initialize(arg())
dialog.appendFilter( "OOo Tabellendokument (*.ods)", "*.ods" )
dialog.SetMultiselectionMode(False)
ok = dialog.execute()
if ok = 1 Then
datei = dialog.getFiles()
URL = datei(0)
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args1(2) as new com.sun.star.beans.PropertyValue
args1(0).Name = "URL"
args1(0).Value = URL
args1(1).Name = "FilterName"
args1(1).Value = "StarOffice XML (Calc)"
args1(2).Name = "Password"
args1(2).Value = "abcxyz"
dispatcher.executeDispatch(document, ".uno:Open", "", 0, args1())
end if
End Sub
Sub geschuetzt_speichern()
arg = Array(com.sun.star.ui.dialogs.TemplateDescription.FILESAVE_AUTOEXTENSION)
dialog = CreateUnoService("com.sun.star.ui.dialogs.FilePicker")
dialog.Initialize(arg())
dialog.appendFilter( "OOo Tabellendokument (*.ods)", "*.ods" )
dialog.SetMultiselectionMode(False)
ok = dialog.execute()
if ok = 1 Then
datei = dialog.getFiles()
URL = datei(0)
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args1(2) as new com.sun.star.beans.PropertyValue
args1(0).Name = "URL"
args1(0).Value = URL
args1(1).Name = "FilterName"
args1(1).Value = "StarOffice XML (Calc)"
args1(2).Name = "Password"
args1(2).Value = "abcxyz"
dispatcher.executeDispatch(document, ".uno:SaveAs", "", 0, args1())
end if
End Sub
Gruß
Stephan
Danke für die Antwort
Hm, scheint also ganz so, als dass man diesen Schutz nicht einrichten kann. Mit Makros moechte ich eigentlich nicht anfangen, da diese immer nur unglückliche Hilfsbruecken in meinen Augen darstellen. Trotzdem danke für die schnelle Antwort, zumindest weiss ich jetzt, dass es nicht geht.