VB-Scripte: bin mir nicht sicher, ob ich das richtig verstanden habe, aber in der ODS-Datei ein Macro mit dem Passwort - dann kann ich mir das Passwort auch sparen.
Nein, meine Überlegung war falsch. Eigentlich war gemeint das Du ein VBScript über die KOmmandozeile starten sollst, z.B. sowas (getestet, läuft wie angegeben):
Code: Alles auswählen
'Achtung Visual Basic Script
Set ser_man = WScript.CreateObject("com.sun.star.ServiceManager")
Set desk = ser_man.createInstance("com.sun.star.frame.Desktop")
Dim arg(0)
Set arg(0) = ser_man.Bridge_GetStruct("com.sun.star.beans.PropertyValue")
arg(0).Name = "Password"
arg(0).Value = "abc"
Dim x
Set x = desk.loadComponentFromURL("file:///D:/Datei.ods", "_blank", 0, arg)
Alternativ zum VB-Macro könnte ich mir aber eine Applikation (AutoIt oder Delphi) schreiben, die meine Datei aufruft, auf das Fenster der Passworteingabe wartet und dieses dann einträgt - nun, sooo viel Aufwand wollte ich da nicht betreiben
Ich verstehe dann nur nicht warum Du das Passwort in den Dialog (automatisiert) eingeben willst, statt es direkt in AutoIT oder Delphi zu übergeben.
Zumindest für AutoIT findest Du genügend Beispielcode zu OpenOffice im Netz, so das Du obenstehendes WSH-Script auf AutoIT 'umprogrammieren' kannst und dann aus dem AutoIT-Script eine exe erzeugen. Dann steht das Passwort zwar in der exe, aber das ist doch zunächst genügend Schutz, damit nicht jeder gewöhnliche Nutzer das Passwort lesen kann.
Oder Du programmiert Dein AutoIT-Script gleich so das es als exe einen Parameter entgegennimmt dann kannst Du auf der Kommandozeile genau das tun was Du ursprünglich wolltest:
Gruß
Stephan
[quote]VB-Scripte: bin mir nicht sicher, ob ich das richtig verstanden habe, aber in der ODS-Datei ein Macro mit dem Passwort - dann kann ich mir das Passwort auch sparen.
[/quote]
Nein, meine Überlegung war falsch. Eigentlich war gemeint das Du ein VBScript über die KOmmandozeile starten sollst, z.B. sowas (getestet, läuft wie angegeben):
[code]'Achtung Visual Basic Script
Set ser_man = WScript.CreateObject("com.sun.star.ServiceManager")
Set desk = ser_man.createInstance("com.sun.star.frame.Desktop")
Dim arg(0)
Set arg(0) = ser_man.Bridge_GetStruct("com.sun.star.beans.PropertyValue")
arg(0).Name = "Password"
arg(0).Value = "abc"
Dim x
Set x = desk.loadComponentFromURL("file:///D:/Datei.ods", "_blank", 0, arg)
[/code]
[quote]Alternativ zum VB-Macro könnte ich mir aber eine Applikation (AutoIt oder Delphi) schreiben, die meine Datei aufruft, auf das Fenster der Passworteingabe wartet und dieses dann einträgt - nun, sooo viel Aufwand wollte ich da nicht betreiben[/quote]
Ich verstehe dann nur nicht warum Du das Passwort in den Dialog (automatisiert) eingeben willst, statt es direkt in AutoIT oder Delphi zu übergeben.
Zumindest für AutoIT findest Du genügend Beispielcode zu OpenOffice im Netz, so das Du obenstehendes WSH-Script auf AutoIT 'umprogrammieren' kannst und dann aus dem AutoIT-Script eine exe erzeugen. Dann steht das Passwort zwar in der exe, aber das ist doch zunächst genügend Schutz, damit nicht jeder gewöhnliche Nutzer das Passwort lesen kann.
Oder Du programmiert Dein AutoIT-Script gleich so das es als exe einen Parameter entgegennimmt dann kannst Du auf der Kommandozeile genau das tun was Du ursprünglich wolltest:
[code]DeinAutoITScript.exe passwort[/code]
Gruß
Stephan