Das Notes Forum
Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: datkar am 27.12.13 - 14:45:57
-
Hallo zusammen,
ich habe eine Excel-Tabelle, die schreibgeschützt gespeichert wurde.
Ich möchte nun per Agent, diese Tabelle öffnen, bearbeiten und wieder schreibgeschützt abspeichern.
Leider kann ich Sie im moment nur schreibgeschützt öffnen und müsste dann eine Kopie speichern...
Habt ihr eine Idee wie ich das am besten anstelle?
Tabellenblätter zu schützen und zu entsperren geht ja auch ziemlich leicht.
Danke
Gruß
Datkar
-
Hallo Datkar,
das ist kein Excel-Problem, das hängt vom jeweiligen OS ab.
Nimm die passenden Befehle, verpack sie in ein Evaluate und fertig. Zwei Zeilen im Script, wenn Du noch Fehler abfängst, sinds ein paar mehr.
CU,
Axel
-
Und wie sehen diese Befehle aus?
Gibt es etwas wie xlApp.Workbooks.Unprotect oder so ähnlich?
Ich kenne die Befehle dafür leider nicht, sonst hätte ich ja nicht gefragt..
-
Du suchst das Problem immer noch in Excel. xlApp ist falsch !
Du möchtest das Betriebssystemattribut schreibgeschützt wegnehmen. Unter Windows wäre das "attrib datei -r", falls der Server unter Linux läuft, funktioniert der Befehl so natürlich nicht. Zum Aktivieren danach wieder ein "attrib datei +r"
Falls also Dein SErver unter Win läuft, verpack das attrib mit seinen Parametern in ein evaluate (die Hilfe zeigt Dir dazu Beispiele) und schon bist Du fertig.
-
Bevor hier aneinander vorbei geredet wird, bitte das Problem nochmals genauer beschreiben
Zwischen
ich habe eine Excel-Tabelle, die schreibgeschützt gespeichert wurde.
und
Tabellenblätter zu schützen und zu entsperren geht ja auch ziemlich leicht.
besteht nämlich ein großer Unterschied.
Ist die Datei nun schreibgeschützt? =>Aufgabe vom OS (z.B. mit attrip)
oder ist das Tabellenblatt (in der Datei) geschützt? => Aufgabe von Excel/xlApp
Gruß
Roland
-
Die Datei ist nicht betriebssystemseitig schreibgeschützt sondern Excel-Tabelle ist schreibgeschützt.
Aber nicht nur ein einzelnes Tabellenblatt.
Also bei "Speichern unter" wurde ein "Kennwort zum Ändern" vergeben.
Einzelne Tabellenblätter kann ich ja mit LotusScript entsperren, aber wie geht das dann bei einer ganzen Tabelle?
Beim Öffnen der Tabelle kommt ja dann gleich eine Popup Box die nach dem Kennwort fragt oder ob die Datei schreibgeschützt geöffnet werden soll.
Hier muss das Script praktisch schon eingreifen.
-
Zeichne in excel mal ein macro auf vom öffnen der Datei und Eingabe des Kennwortes... Dann siehst Du, ob es da Befehle für gibt...
-
Ich hab gerade mal eines aufgezeichnet.
Leider schreibt er mir nur Workbooks.Open Filename:="C:\Temp\Mappe1.xlsx" raus und nicht mehr...
Die Eingabe greift ja auch praktisch beim Öffnen und nicht nach dem Befehl...
Gruß
Datkar
-
@datkar
Da sich Lotus Script in vielen Belangen ähnlich zu Visual Basic verhält, habe ich eben mal Frau g**gle bemüht:
https://www.google.de/#q=vbscript+open+excel+with+password
Im Notes Developer Client unter Referenz-->OLE Classes-->Microsoft Excel <Deine Version> Object Library --> Workbooks --> Methods findet sich außerdem folgende Info:
Open(byval filename as string, optional byval updatelinks as variant, optional byval readonly as variant, optional byval format as variant, optional byval password as variant, optional byval writerespassword as variant, optional byval ignorereadonlyrecommended as variant, optional byval origin as variant, optional byval delimiter as variant, optional byval editable as variant, optional byval notify as variant, optional byval converter as variant, optional byval addtomru as variant, optional byval local as variant, optional byval corruptload as variant) as variant
Viel Erfolg!