| Startseite | Inhalt
StarBasic / OpenOffice.org Basic FAQ
Fragen und Infos: starbasic@dannenhoefer.de

Zurück Vor |
| 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 |
Seitenanfang |

2003 - 2009 von Michael Dannenhöfer |
Letzte Aktualisierung: 06.04.2009