von Stephan » So, 24.09.2006 10:53
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?
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
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.
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.
(*)
auch einzelne Tabellenblätter sollen einen Blattschutz haben
das geht mit Extras-Dokument schützen
so dass keine darin etwas verstellen kann
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.
(*)
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
Hierbei würde immer automatisch mittels (Standard)Passwort "abcxyz" gespeichert und geöffnet. Wenn Du die Makros in einer verschlüsselten OOo-Bibliothek speichert wäre das von außen zunächst nicht direkt einsehbar. Ich weiß allerdings nicht wie es wäre wenn jemand Deine Auslagerungsdatei oder einen Speicherauszug einsehen könnte, so das sich das Ganze sicher nur empfielt wenn Du als Einziger Zugriff auf den Rechner hast und der Passwortschutz nur Sicherheit bei der Weitergabe der Dateien bieten soll.
Gruß
Stephan
[quote]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.[/quote]
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?
[quote]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 [/quote]
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.
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.[color=blue](*)[/color]
[quote]auch einzelne Tabellenblätter sollen einen Blattschutz haben[/quote]
das geht mit Extras-Dokument schützen
[quote]so dass keine darin etwas verstellen kann[/quote]
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.
[color=blue](*)[/color]
[i]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:[/i]
[code]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[/code]
[i]Hierbei würde immer automatisch mittels (Standard)Passwort "abcxyz" gespeichert und geöffnet. Wenn Du die Makros in einer verschlüsselten OOo-Bibliothek speichert wäre das von außen zunächst nicht direkt einsehbar. Ich weiß allerdings nicht wie es wäre wenn jemand Deine Auslagerungsdatei oder einen Speicherauszug einsehen könnte, so das sich das Ganze sicher nur empfielt wenn Du als Einziger Zugriff auf den Rechner hast und der Passwortschutz nur Sicherheit bei der Weitergabe der Dateien bieten soll.[/i]
Gruß
Stephan