Seite 1 von 1
[gelöst] Passwortabfrage bei Makro ausführung abschalten
Verfasst: Mi, 27.06.2007 12:55
von datensurfer
Hallo,
ich habe ein Dokument mit geschützten Zellen und deshalb mit der aktivierten Funktion "Tabelle schützen".
Soweit so gut!
Wenn ich jetzt ein Makro starte wird jedes mal eine Passwort-Abfrage gestellt.
Da kein Passwort gesetzt ist brauch keines eingegeben werden.
Wie kann die Passwort-Abfrage ausgeschaltet werden?
Re: Passwortabfrage bei Makro ausführung abschalten
Verfasst: Mi, 27.06.2007 13:23
von Stephan
Wenn ich jetzt ein Makro starte wird jedes mal eine Passwort-Abfrage gestellt.
Dann müßtest Du erklären was das Makro macht oder was sonst noch für Umstände vorliegen. Nur der Versuch Zellinhalt einer geschützten Zelle zu ändern führt bei mir zu keinem Meldungsfenster.
Wie kann die Passwort-Abfrage ausgeschaltet werden?
Unabhängig von Obenstehenden indem Du den Zellschutz mittels Deines Makros vor der eigentlich Makroaktion entfernst und danach wieder per Makro setzt.
Aber wie oben gesagt, eine bloße Änderung des Zellinhalts bringt bei mir kein Meldungsfenster, so das ja evtl. Umstände vorliegen, die ich nicht kenne.
Gruß
Stephan
Re: Passwortabfrage bei Makro ausführung abschalten
Verfasst: Mi, 27.06.2007 14:09
von komma4
datensurfer,
Code: Alles auswählen
oController = ThisComponent.CurrentController
oSheet = oController.getActiveSheet()
' toggle protection
If oSheet.isProtected Then
oSheet.Unprotect( "" )
Else
oSheet.Protect( "" )
End If
Re: Passwortabfrage bei Makro ausführung abschalten
Verfasst: Mi, 27.06.2007 14:27
von datensurfer
Stephan hat geschrieben:Wenn ich jetzt ein Makro starte wird jedes mal eine Passwort-Abfrage gestellt.
Dann müßtest Du erklären was das Makro macht oder was sonst noch für Umstände vorliegen. Nur der Versuch Zellinhalt einer geschützten Zelle zu ändern führt bei mir zu keinem Meldungsfenster.
Nein die Passwortabfrage kommt wenn das Makro gestartet wird, dieses blendet die letzten 9 Spalten aus bzw. ein anderes Makro wieder ein. Wurde mit der Record-Funktion aufgezeichnet. Die Abfrage würde auch kommen wenn ich einfach ein beliebieges Feld per Makro ein neuen Wert setze, also die PW Abfrage ist nicht primär abhängig von der Funktion des Makro sondern von dem Faktor "Formular bzw. Dokument schützen" eingeschaltet und dann ein Makro gestartet wird.
Da KEIN Passwort gesetzt ist, ist die Abfrage auch obsolet, leider erscheint selbige trotzdem und ich konnte keine Funktion finden diese zu deaktivieren!
Stephan hat geschrieben:Wie kann die Passwort-Abfrage ausgeschaltet werden?
Unabhängig von Obenstehenden indem Du den Zellschutz mittels Deines Makros vor der eigentlich Makroaktion entfernst und danach wieder per Makro setzt.
Und genau da kommt dann die Passwortabfrage obwohl KEIN Passwort gesetzt wurde und auch nichts eingegeben werden muss.

Leider beschweren sich die User weil das natürlich auf Dauer etwas "nervt" bei jeglichen Ein- & Ausblenden verschiedener Felder die an der Stelle Sinn freie abfrage erscheint.
Stephan hat geschrieben:Aber wie oben gesagt, eine bloße Änderung des Zellinhalts bringt bei mir kein Meldungsfenster, so das ja evtl. Umstände vorliegen, die ich nicht kenne.
Das heißt du hast z.B. 5 Felder von denen 2 geschützt sind und blendest diese per Makro aus, welches natürlich vorher den Zellschutz auf das Dokument aufhebt und anschließend wieder setzt, und es erscheint keine PW Abfrage?
Bei mir erscheint in diesem Fall jedesmal die Abfrage und ich bin am verzweifeln weil ich diese nicht deaktivieren kann!

Re: Passwortabfrage bei Makro ausführung abschalten
Verfasst: Mi, 27.06.2007 14:34
von datensurfer
komma4 hat geschrieben:datensurfer,
Code: Alles auswählen
oController = ThisComponent.CurrentController
oSheet = oController.getActiveSheet()
' toggle protection
If oSheet.isProtected Then
oSheet.Unprotect( "" )
Else
oSheet.Protect( "" )
End If
Das ist es, danke!
Die OO-Macro-Record-Funktion hat das mit dem Code
rem dim args4(0) as new com.sun.star.beans.PropertyValue
rem args4(0).Name = "Protect"
rem args4(0).Value = true
rem dispatcher.executeDispatch(document, ".uno:Protect", "", 0, args4())
Gemacht und da kommt diese Abfrage.
Mit deinem Makro ist alles bestens!

Re: [gelöst] Passwortabfrage bei Makro ausführung abschalten
Verfasst: Mi, 27.06.2007 14:45
von komma4
Das Freischalten sollte auch mit dem aufgezeichneten dispatcher-Code gehen:
die "rem" statements entfernen (auch die nicht zitierten von oDocument)
den Wert von args4 auf FALSE
Weiterhin viel Erfolg!