7.5.10 Wie kann man Tabellen und Zellen schützen?
Um Tabellen und Zellen per Makro zu schützen muss man einige Besonderheiten beachten.
Tabellen kann man mit Passwort schützen. Dies verhindert aber nur den Eingriff in die Tabelle. Der Inhalt der Tabelle kann trotzdem durch ein einfaches Kopieren der Zellen in eine neue Datei ohne Schutz übertragen werden. Um dies für die Formeln zu verhindern sollte man diese ausblenden. ( Format-> Zellen ->Zellschutz -> Formeln ausblenden aktivieren.
Zellen sind nur dann geschützt wenn die Tabelle geschützt ist. Möchte man, dass Zellen ungeschützt sind muß, man diese vor dem Schutz entsperren. Auch per Makro ist dies nur möglich wenn die Tabelle ungeschützt ist.
Man darf auf keinen Fall den Tabellen- und Zellenschutz mit einem echten Schutz der Daten und Formeln verwechseln. Es handelt sich vor allem um einen Schutz vor falschen Eingaben in einem Formular.
Wie werden einzelne Tabellen geschützt?
odoc=thiscomponent
oSheets=odoc.sheets
oSheet = oDoc.Sheets(0)
'oder oSheet = oDoc.Sheets().getByName("Tabelle1")
oSheet.protect("Test")
Passwort : Test
Mit  oSheet.unprotect("Test")  wird der Schutz aufgehoben.
Um einzelne Zellen zu schützen oder den Schutz zu deaktiveren verwendet man das Struct com.sun.star.util.CellProtection
Dim myProtection As New com.sun.star.util.CellProtection
ocell = mysheet.getCellByPosition(0,0)
myProtection.IsLocked=false
oCell.CellProtection=myProtection
Weitere Parameter in dem Struct sind:
isFormulaHidden -> Die Formel wird bei Tabellenschutz ausgeblendet.
isHidden -> Der Inhalt wird bei Tabellenschutz ausgeblendet.
isPrintHidden -> Der Inhalt der Zelle wird bei Tabellenschutz nicht gedruckt.
Um also eine Zelle in einer geschützten Tabelle zu ändern muß man beides durchführen
odoc=thiscomponent
oSheets=odoc.sheets
oSheet = oDoc.Sheets(0)

oSheet.unprotect("Test")
Dim myProtection As New com.sun.star.util.CellProtection
ocell = mysheet.getCellByPosition(0,0)
myProtection.IsLocked=false
oCell.CellProtection=myProtection
oSheet.protect("Test")
Eine kleine kurze Prozedur für den Schutz von Zellen steht in den Tools