WorksheetBase.Protect-Methode
Schützt ein Arbeitsblatt, sodass es nicht geändert werden kann.
Namespace: Microsoft.Office.Tools.Excel
Assembly: Microsoft.Office.Tools.Excel.v4.0.Utilities (in Microsoft.Office.Tools.Excel.v4.0.Utilities.dll)
Syntax
'Declaration
Public Sub Protect ( _
password As Object, _
drawingObjects As Object, _
contents As Object, _
scenarios As Object, _
userInterfaceOnly As Object, _
allowFormattingCells As Object, _
allowFormattingColumns As Object, _
allowFormattingRows As Object, _
allowInsertingColumns As Object, _
allowInsertingRows As Object, _
allowInsertingHyperlinks As Object, _
allowDeletingColumns As Object, _
allowDeletingRows As Object, _
allowSorting As Object, _
allowFiltering As Object, _
allowUsingPivotTables As Object _
)
public void Protect(
Object password,
Object drawingObjects,
Object contents,
Object scenarios,
Object userInterfaceOnly,
Object allowFormattingCells,
Object allowFormattingColumns,
Object allowFormattingRows,
Object allowInsertingColumns,
Object allowInsertingRows,
Object allowInsertingHyperlinks,
Object allowDeletingColumns,
Object allowDeletingRows,
Object allowSorting,
Object allowFiltering,
Object allowUsingPivotTables
)
Parameter
- password
Typ: System.Object
Ein Kennwort für das Arbeitsblatt, bei dem die Groß-/Kleinschreibung beachtet werden muss.Wenn dieses Argument ausgelassen wird, können Sie den Arbeitsblattschutz aufheben, ohne ein Kennwort zu verwenden.Andernfalls müssen Sie das Kennwort angeben, um den Arbeitsblattschutz aufzuheben.Wenn Sie das Kennwort vergessen, können Sie den Arbeitsblattschutz nicht aufheben.Es empfiehlt sich, eine Liste Ihrer Kennwörter und der entsprechenden Dokumentnamen an einem sicheren Ort aufzubewahren.
- drawingObjects
Typ: System.Object
true , um Formen zu schützen.Der Standardwert ist false.
- contents
Typ: System.Object
true , um den Inhalt der gesperrten Zellen zu schützen.Der Standardwert ist true.
- scenarios
Typ: System.Object
true , um Szenarien zu schützen.Der Standardwert ist true.
- userInterfaceOnly
Typ: System.Object
true , um die Benutzeroberfläche, aber keine Makros zu schützen.Wenn dieses Argument ausgelassen wird, wird der Schutz sowohl auf Makros als auch auf die Benutzeroberfläche angewendet.
- allowFormattingCells
Typ: System.Object
Mit true kann der Benutzer jede Zelle auf einem geschützten Arbeitsblatt formatieren.Der Standardwert ist false.
- allowFormattingColumns
Typ: System.Object
Mit true kann der Benutzer jede Spalte auf einem geschützten Arbeitsblatt formatieren.Der Standardwert ist false.
- allowFormattingRows
Typ: System.Object
Mit true kann der Benutzer jede Zeile auf einem geschützten Arbeitsblatt formatieren.Der Standardwert ist false.
- allowInsertingColumns
Typ: System.Object
Mit true kann der Benutzer Spalten in das geschützte Arbeitsblatt einfügen.Der Standardwert ist false.
- allowInsertingRows
Typ: System.Object
Mit true kann der Benutzer Zeilen in das geschützte Arbeitsblatt einfügen.Der Standardwert ist false.
- allowInsertingHyperlinks
Typ: System.Object
Mit true kann der Benutzer Links in das Arbeitsblatt einfügen.Der Standardwert ist false.
- allowDeletingColumns
Typ: System.Object
Mit true kann der Benutzer Spalten auf dem geschützten Arbeitsblatt löschen. Dabei wird die Sperrung aller Zellen in der zu löschenden Spalte aufgehoben.Der Standardwert ist false.
- allowDeletingRows
Typ: System.Object
Mit true kann der Benutzer Zeilen auf dem geschützten Arbeitsblatt löschen. Dabei wird die Sperrung aller Zellen in der zu löschenden Zeile aufgehoben.Der Standardwert ist false.
- allowSorting
Typ: System.Object
Mit true kann der Benutzer eine Sortierung im geschützten Arbeitsblatt durchführen.Die Sperrung bzw. der Schutz für alle Zellen im Sortierbereich muss aufgehoben werden.Der Standardwert ist false.
- allowFiltering
Typ: System.Object
Mit true kann der Benutzer Filter im geschützten Arbeitsblatt festlegen.Die Filterkriterien können geändert werden; es ist jedoch nicht möglich, einen AutoFilter zu aktivieren oder zu deaktivieren.Benutzer können Filter für einen vorhandenen AutoFilter festlegen.Der Standardwert ist false.
- allowUsingPivotTables
Typ: System.Object
Mit true kann der Benutzer PivotTable-Berichte im geschützten Arbeitsblatt verwenden.Der Standardwert ist false.
Hinweise
Wenn Sie diese Methode anwenden und das UserInterfaceOnly-Argument auf true festgelegt ist, wird das gesamte Arbeitsblatt (nicht nur die Benutzeroberfläche) vollständig geschützt, wenn die Arbeitsmappe anschließend gespeichert und wieder geöffnet wird.Wenn der Schutz der Benutzeroberfläche nach dem Öffnen der Arbeitsmappe wieder aktiviert werden soll, müssen Sie diese Methode erneut anwenden, wobei UserInterfaceOnly auf true festgelegt sein muss.
An einem geschützten Arbeitsblatt können Änderungen vorgenommen werden, wenn das Kennwort bereitgestellt wird.Eine andere Möglichkeit besteht darin, den Schutz für das Arbeitsblatt aufzuheben, die notwendigen Änderungen vorzunehmen und anschließend den Schutz für das Arbeitsblatt wiederherzustellen.
Hinweis |
---|
"Ungeschützt" bedeutet, dass die Zelle möglicherweise gesperrt ist (Dialogfeld Zellen formatieren), sich aber in einem Bereich befindet, der im Dialogfeld Benutzerberechtigungen zum Bearbeiten von Bereichen definiert ist. Weiterhin bedeutet dies, dass der Benutzer den Schutz für den Bereich mit einem Kennwort aufgehoben hat oder eine Überprüfung mit NT-Berechtigungen ausgeführt wurde. |
Optionale Parameter
Informationen zu optionalen Parametern finden Sie unter Optionale Parameter in Office-Lösungen.
Beispiele
Im folgenden Codebeispiel wird der Wert der ProtectContents-Eigenschaft abgerufen, um festzustellen, ob der Inhalt des Arbeitsblatts geschützt ist.Wenn der Inhalt nicht geschützt ist, wird die Protect-Methode mit dem Contents-Parameter aufgerufen. Dieser ist auf true festgelegt, sodass der Inhalt geschützt ist.
Dieses Beispiel bezieht sich auf eine Anpassung auf Dokumentebene.
Private Sub ProtectCellContents()
If Not Me.ProtectContents Then
If DialogResult.Yes = MessageBox.Show("Cell contents in this " & _
"worksheet are not protected. Protect cell contents?", "Example", _
MessageBoxButtons.YesNo) Then
' Protect cell contents, but do not change any
' other protection type.
Me.Protect(DrawingObjects:=Me.ProtectDrawingObjects, _
Contents:=True, Scenarios:=Me.ProtectScenarios, _
UserInterfaceOnly:=Me.ProtectionMode, _
AllowFormattingCells:=Me.Protection.AllowFormattingCells, _
AllowFormattingColumns:=Me.Protection.AllowFormattingColumns, _
AllowFormattingRows:=Me.Protection.AllowFormattingRows, _
AllowInsertingColumns:=Me.Protection.AllowInsertingColumns, _
AllowInsertingRows:=Me.Protection.AllowInsertingRows, _
AllowInsertingHyperlinks:=Me.Protection.AllowInsertingHyperlinks, _
AllowDeletingColumns:=Me.Protection.AllowDeletingColumns, _
AllowDeletingRows:=Me.Protection.AllowDeletingRows, _
AllowSorting:=Me.Protection.AllowSorting, _
AllowFiltering:=Me.Protection.AllowFiltering, _
AllowUsingPivotTables:=Me.Protection.AllowUsingPivotTables)
End If
End If
End Sub
private void ProtectCellContents()
{
if (!this.ProtectContents)
{
if (DialogResult.Yes == MessageBox.Show("Cell contents in this " +
"worksheet are not protected. Protect cell contents?", "Example",
MessageBoxButtons.YesNo))
{
// Protect cell contents, but do not change any
// other protection type.
this.Protect(this.ProtectDrawingObjects,
true, this.ProtectScenarios, this.ProtectionMode,
this.Protection.AllowFormattingCells,
this.Protection.AllowFormattingColumns,
this.Protection.AllowFormattingRows,
this.Protection.AllowInsertingColumns,
this.Protection.AllowInsertingRows,
this.Protection.AllowInsertingHyperlinks,
this.Protection.AllowDeletingColumns,
this.Protection.AllowDeletingRows,
this.Protection.AllowSorting,
this.Protection.AllowFiltering,
this.Protection.AllowUsingPivotTables);
}
}
}
.NET Framework-Sicherheit
- Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code.