Seite 1 von 1

Schutz eines Tabellenblattes per Makro aufheben

Verfasst: Mi 28. Feb 2018, 14:33
von Reini52
Hallo,

Ich hab eine Tabelle (ein Tabellenblatt) das über Extras standardmäßig geschützt Ist.

Diesen Schutz möchte ich per Makro abschalten. Ich hab dazu ein Makro aufgezeichnet. Dieses Makro funktioniert, wenn ich es über "Extras", "Makro", "Makroausführen" zum Laufen bringe. Das Tabellenblatt wird korrekt entsperrt.

Ich möchte das Makro aber einen Button im selben - gesperrten - Tabellenblatt starten. Nach Drückend es Button erscheint die Fehlermeldung "Protected cells can not be modified". Offensichtlich wirkt sich der Schutz des Tabellenblatts auch auf die Funktionstaste im Tabellenbaltt aus.

Kann man das in den Eigenschaften des Buttons abschalten oder gibt es eine andere Lösung? (so wie in Excel)

Das Ziel ist zunächst den Tabellenblattschutz zu entfernen, dann einen Bereich in der Tabelle zu löschen und danach den Schutz wieder aktiv zu machen.

(Ich setlle das Problem auch im Bereich Calc ein)

Re: Schutz eines Tabellenblattes per Makro aufheben

Verfasst: Mi 28. Feb 2018, 18:04
von F3K Total
Hi,
habe zwar ein Makro dazu geschrieben, funktioniert bei mir problemlos, siehe Anlage.
Hier das Makro:

Code: Alles auswählen

Sub Protect_unprotect(Event)
    oButton = Event.Source.Model
    oSheet = ThisComponent.CurrentController.activeSheet
    if oButton.Label = "entsperren" then
        oSheet.unprotect("")'zwischen die Hochkommas kann ein Passwort geschrieben werden ala "1234"
        oButton.Label = "sperren"
        oButton.BackgroundColor = 65280
    else
       oButton.Label = "entsperren"
       oButton.BackgroundColor  = 16711680
       oSheet.protect("")'zwischen die Hochkommas kann ein Passwort geschrieben werden ala "1234"
    endif
End Sub
Gruß R

EDIT: habe gerade gesehen, das es ja eine elegante Lösung über den Tabellenreiter gibt ... bei LibreOffice, für Openoffice geht meine Lösung noch gut.