Arbeitsblatt schützen und entschützen
Arbeitsblätter schützen
Wenn ein Arbeitsblatt geschützt ist, sind die Aktionen, die ein Benutzer durchführen kann, eingeschränkt. Beispielsweise kann er keine Daten eingeben, Zeilen oder Spalten einfügen oder löschen usw. Die allgemeinen Schutzmöglichkeiten in Microsoft Excel sind:
- Inhalt
- Objekte
- Szenarien
Geschützte Arbeitsblätter verbergen oder schützen keine sensiblen Daten, daher unterscheidet es sich von der Dateiverschlüsselung. Im Allgemeinen eignet sich der Arbeitsblattschutz für Präsentationszwecke. Es verhindert, dass der Endbenutzer Daten, Inhalte und Formatierungen im Arbeitsblatt ändert.
Hinzufügen oder Entfernen des Schutzes
Aspose.Cells bietet eine Klasse, Workbook, die eine Microsoft Excel Datei repräsentiert. Die Klasse Workbook enthält eine WorksheetCollection, die den Zugriff auf jedes Arbeitsblatt in einer Excel-Datei ermöglicht. Ein Arbeitsblatt wird durch die Klasse Worksheet repräsentiert.
Die Klasse Worksheet bietet die Methode Protect, die zum Anwenden von Schutz auf ein Arbeitsblatt verwendet wird. Die Protect-Methode akzeptiert die folgenden Parameter:
- Schutzttyp, der Typ des Schutzes, der auf das Arbeitsblatt angewendet werden soll. Der Schutzttyp wird mithilfe der Enumeration ProtectionType angewendet.
- Neues Passwort, das neue Passwort, das zum Schutz des Arbeitsblatts verwendet wird.
- Altes Kennwort, das alte Kennwort, wenn das Arbeitsblatt bereits kennwortgeschützt ist. Wenn das Arbeitsblatt noch nicht geschützt ist, einfach null übergeben.
Die Enumeration ProtectionType enthält die folgenden vordefinierten Schutzttypen:
Schutztypen | Beschreibung |
---|---|
ALL | Benutzer kann auf diesem Arbeitsblatt nichts ändern |
CONTENTS | Benutzer kann in diesem Arbeitsblatt keine Daten eingeben |
OBJECTS | Benutzer kann Zeichenobjekte nicht ändern |
SCENARIOS | Benutzer kann gespeicherte Szenarien nicht ändern |
STRUCTURE | Benutzer kann gespeicherte Struktur nicht ändern |
WINDOWS | Benutzer kann gespeicherte Fenster nicht ändern |
NONE | Kein Schutz |
Das folgende Beispiel zeigt, wie ein Arbeitsblatt mit einem Passwort geschützt wird.
Nachdem der obige Code zum Schützen des Arbeitsblatts verwendet wurde, überprüfen Sie den Schutz des Arbeitsblatts, indem Sie es öffnen. Sobald Sie die Datei öffnen und einige Daten in das Arbeitsblatt eingeben, wird der folgende Dialog angezeigt:
Ein Dialog, der vorwarnt, dass ein Benutzer das Arbeitsblatt nicht ändern kann
Um am Arbeitsblatt zu arbeiten, heben Sie den Schutz des Arbeitsblatts auf, indem Sie im Menüpunkt Extras die Option Blattschutz aufheben auswählen, wie unten gezeigt.
Auswählen der Option Blattschutz aufheben
Ein Dialog fordert zur Eingabe eines Kennworts auf.
Eingabe des Passworts zum Entsperren des Arbeitsblatts
Schutz einiger Zellen
Es könnte bestimmte Szenarien geben, in denen Sie nur einige Zellen im Arbeitsblatt sperren müssen. Wenn Sie bestimmte Zellen im Arbeitsblatt sperren möchten, müssen Sie alle anderen Zellen im Arbeitsblatt entsperren. Alle Zellen in einem Arbeitsblatt sind bereits für das Sperren initialisiert, Sie können dies überprüfen, indem Sie eine Excel-Datei in MS Excel öffnen und auf Format | Zellen… klicken, um den Dialog Zellen formatieren anzuzeigen. Klicken Sie dann auf die Registerkarte Schutz und sehen Sie, dass ein Kontrollkästchen mit der Aufschrift “Gesperrt” standardmäßig aktiviert ist.
Im Folgenden werden die beiden Herangehensweisen zur Umsetzung der Aufgabe beschrieben.
Methode 1:
Die folgenden Punkte beschreiben, wie Sie mit MS Excel einige Zellen sperren können. Diese Methode gilt für Microsoft Office Excel 97, 2000, 2002, 2003 und neuere Versionen.
-
Wählen Sie das gesamte Arbeitsblatt aus, indem Sie auf die Schaltfläche Alle auswählen (das graue Rechteck direkt über der Zeilennummer für Zeile 1 und links von der Spaltenüberschrift A) klicken.
-
Klicken Sie im Menü Format auf Zellen, klicken Sie auf die Registerkarte Schutz und deaktivieren Sie das Kontrollkästchen Gesperrt.
Dies entsperrt alle Zellen im Arbeitsblatt
- Wählen Sie nur die Zellen aus, die Sie sperren möchten, und wiederholen Sie Schritt 2, aber aktivieren Sie dieses Mal das Kontrollkästchen Gesperrt.
- Wählen Sie im Menü Extras Schutz aus, klicken Sie auf Arbeitsblatt schützen und klicken Sie dann auf OK.
Methode 2:
In dieser Methode verwenden wir nur die Aspose.Cells-API, um die Aufgabe zu erledigen.
Das folgende Beispiel zeigt, wie Sie einige Zellen im Arbeitsblatt schützen können. Es entsperrt zuerst alle Zellen im Arbeitsblatt und sperrt dann 3 Zellen (A1, B1, C1). Schließlich schützt es das Arbeitsblatt. Eine Zeile / Spalte verfügt über eine Style-API, die eine Methode set Locked enthält. Sie können diese Methode verwenden, um die Zeile / Spalte zu sperren oder zu entsperren.
Schützen Sie eine Zeile im Arbeitsblatt
Aspose.Cells ermöglicht es Ihnen, jede Zeile im Arbeitsblatt ganz einfach zu sperren. Hier können wir die applyStyle()-Methode der Klasse Row verwenden, um einem bestimmten Zeile im Arbeitsblatt ein Style anzuwenden. Diese Methode nimmt zwei Argumente an: ein Style-Objekt und einen StyleFlag-Struktur, die alle Mitglieder im Zusammenhang mit der angewandten Formatierung enthält.
Das folgende Beispiel zeigt, wie Sie eine Zeile im Arbeitsblatt schützen können. Es entsperrt zuerst alle Zellen im Arbeitsblatt und sperrt dann die erste Zeile. Schließlich schützt es das Arbeitsblatt. Eine Zeile / Spalte verfügt über eine Style-API, die eine Methode setCellLocked enthält. Sie können die Zeile / Spalte mit der StyleFlag-Struktur sperren oder entsperren.
Schützen Sie eine Spalte im Arbeitsblatt
Aspose.Cells ermöglicht es Ihnen, jede Spalte im Arbeitsblatt einfach zu sperren. Hier können wir die Methode applyStyle() der Klasse Column verwenden, um den Stil auf eine bestimmte Spalte im Arbeitsblatt anzuwenden. Diese Methode nimmt zwei Argumente entgegen: ein Style-Objekt und ein StyleFlag-Struktur, die alle Mitglieder im Zusammenhang mit der angewendeten Formatierung enthält.
Das folgende Beispiel zeigt, wie man eine Spalte im Arbeitsblatt schützt. Es werden zunächst alle Zellen im Arbeitsblatt entsperrt und dann die erste Spalte gesperrt. Schließlich wird das Arbeitsblatt geschützt. Eine Zeile/eine Spalte hat eine Style-API, die die Methode setLocked enthält. Sie können die Zeile/die Spalte mithilfe der Struktur StyleFlag sperren oder entsperren.
Arbeitsblatt entsperren
Schutz von Arbeitsblättern und Erweiterte Schutzeinstellungen seit Excel XP behandelt verschiedene Ansätze zur Sicherung von Arbeitsblättern. Was ist, wenn ein Entwickler den Schutz von einem geschützten Arbeitsblatt zur Laufzeit entfernen muss, damit Änderungen an der Datei vorgenommen werden können? Dies kann leicht mit Aspose.Cells erreicht werden.
Verwendung von Microsoft Excel
Um den Schutz von einem Arbeitsblatt zu entfernen:
Wählen Sie im Extras-Menü Schutz, gefolgt von Arbeitsblatt entsperren.
Auswahl des Befehls Arbeitsblatt entsperren
Der Schutz wird entfernt, es sei denn, das Arbeitsblatt ist passwortgeschützt. In diesem Fall fordert ein Dialogfeld das Passwort an.
Eingabe des Passworts zum Entsperren des Arbeitsblatts
Verwendung von Aspose.Cells
Ein Arbeitsblatt kann entsperrt werden, indem die Unprotect-Methode der Klasse Worksheet aufgerufen wird. Die Unprotect-Methode kann auf folgende Weise verwendet werden, wie unten beschrieben.
Entsperren eines einfach geschützten Arbeitsblatts
Ein einfach geschütztes Arbeitsblatt ist eines, das nicht mit einem Passwort geschützt ist. Solche Arbeitsblätter können entsperrt werden, indem die Methode unprotect ohne Parameter aufgerufen wird.
Entsperren eines passwortgeschützten Arbeitsblatts
Ein passwortgeschütztes Arbeitsblatt ist eines, das mit einem Passwort geschützt ist. Solche Arbeitsblätter können entsperrt werden, indem eine überladene Version der Unprotect-Methode aufgerufen wird, die das Passwort als Parameter entgegennimmt.
Erweiterte Schutzeinstellungen seit Excel XP
Schutz von Arbeitsblättern behandelt das Schützen eines Arbeitsblatts in Microsoft Excel 97 und 2000. Seit der Veröffentlichung von Excel 2002 oder XP hat Microsoft viele erweiterte Schutzeinstellungen hinzugefügt. Diese Schutzeinstellungen beschränken oder erlauben Benutzern:
- Zeilen oder Spalten löschen.
- Inhalte, Objekte oder Szenarien bearbeiten.
- Zellen, Zeilen oder Spalten formatieren.
- Zeilen, Spalten oder Hyperlinks einfügen.
- Gesperrte oder ungesperrte Zellen auswählen.
- Pivot-Tabellen verwenden und vieles mehr.
Aspose.Cells unterstützt alle erweiterten Schutzeinstellungen, die von Excel XP und späteren Versionen angeboten werden.
Erweiterte Schutzeinstellungen mit Excel XP und späteren Versionen verwenden
Um die Schutzeinstellungen in Excel XP anzuzeigen:
-
Wählen Sie im Menü Extras die Option Schutz und dann Arbeitsblatt schützen. Es wird ein Dialogfeld angezeigt.
Dialogfeld zur Anzeige von Schutzoptionen in Excel XP
- Arbeitsblattfunktionen erlauben oder einschränken oder ein Passwort anwenden.
Erweiterte Schutzeinstellungen mit Aspose.Cells verwenden
Aspose.Cells unterstützt alle erweiterten Schutzeinstellungen.
Aspose.Cells stellt eine Klasse, Workbook, bereit, die eine Microsoft Excel-Datei darstellt. Die Workbook-Klasse enthält eine WorksheetCollection-Sammlung, die den Zugriff auf jedes Arbeitsblatt in der Excel-Datei ermöglicht. Ein Arbeitsblatt wird durch die Klasse Worksheet dargestellt.
Die Worksheet-Klasse bietet die Protection-Eigenschaft, die verwendet wird, um diese erweiterten Schutzeinstellungen anzuwenden. Die Protection-Eigenschaft ist tatsächlich ein Objekt der Klasse Protection, das mehrere boolesche Eigenschaften zum Deaktivieren oder Aktivieren von Einschränkungen enthält.
Unten finden Sie eine kleine Beispielanwendung. Es öffnet eine Excel-Datei und verwendet die meisten von Excel XP und späteren Versionen unterstützten erweiterten Schutzeinstellungen.
Problem mit Zellsperre
Wenn Sie möchten, dass Benutzer das Bearbeiten von Zellen einschränken, müssen die Zellen vor der Anwendung von Schutzeinstellungen gesperrt sein. Andernfalls können die Zellen bearbeitet werden, auch wenn das Arbeitsblatt geschützt ist. In Microsoft Excel XP können Zellen durch den folgenden Dialog gesperrt werden:
Dialog zum Sperren von Zellen in Excel XP
Es ist auch möglich, Zellen mithilfe der Aspose.Cells API zu sperren. Jede Zelle verfügt über eine Style-API, die wiederum eine Methode setLocked enthält. Verwenden Sie diese, um Zellen zu sperren oder zu entsperren.