Metoda WorksheetBase.Protect —
Chroni arkusza tak, że nie można modyfikować.
Przestrzeń nazw: Microsoft.Office.Tools.Excel
Zestaw: Microsoft.Office.Tools.Excel.v4.0.Utilities (w Microsoft.Office.Tools.Excel.v4.0.Utilities.dll)
Składnia
'Deklaracja
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
)
Parametry
- password
Typ: System.Object
Wielkość liter hasło arkusza.Jeśli ten argument zostanie pominięty, należy wyłączyć ochronę arkusza bez użycia hasła.W przeciwnym razie należy podać hasło do usunięcia ochrony arkusza.Jeśli zapomnisz hasła, nie będziesz mógł wyłączyć ochrony arkusza.Dobrym pomysłem jest przechowywanie listy haseł i odpowiadających im nazw dokumentów w bezpiecznym miejscu.
- drawingObjects
Typ: System.Object
true umożliwiający ochronę kształtów.Wartością domyślną jest false.
- contents
Typ: System.Object
true Ochrona treści w zablokowanych komórek.Wartością domyślną jest true.
- scenarios
Typ: System.Object
true umożliwiający ochronę scenariuszy.Wartością domyślną jest true.
- userInterfaceOnly
Typ: System.Object
true umożliwiający ochronę interfejsu użytkownika, bez uwzględniania makr.Jeśli ten argument zostanie pominięty, ochrona zostanie zastosowana do makr i interfejsu użytkownika.
- allowFormattingCells
Typ: System.Object
true Zezwala użytkownikowi na sformatować wszystkie komórki w chronionym arkuszu.Wartością domyślną jest false.
- allowFormattingColumns
Typ: System.Object
true Zezwala użytkownikowi na format dowolnej kolumny w chronionym arkuszu.Wartością domyślną jest false.
- allowFormattingRows
Typ: System.Object
true Zezwala użytkownikowi na format każdego wiersza w chronionym arkuszu.Wartością domyślną jest false.
- allowInsertingColumns
Typ: System.Object
true Zezwala użytkownikowi na wstawianie kolumn w chronionym arkuszu.Wartością domyślną jest false.
- allowInsertingRows
Typ: System.Object
true Zezwala użytkownikowi na wstawianie wierszy w chronionym arkuszu.Wartością domyślną jest false.
- allowInsertingHyperlinks
Typ: System.Object
true Zezwala użytkownikowi na wstawianie hiperłącza w arkuszu.Wartością domyślną jest false.
- allowDeletingColumns
Typ: System.Object
true Zezwala użytkownikowi na usuwanie kolumn w arkuszu chronionym, gdzie każda komórka w kolumnie skreśla się jest odblokowany.Wartością domyślną jest false.
- allowDeletingRows
Typ: System.Object
true Zezwala użytkownikowi na usuwanie wierszy w arkuszu chronionym, gdzie każda komórka w wierszu, który ma zostać usunięty jest odblokowany.Wartością domyślną jest false.
- allowSorting
Typ: System.Object
true Zezwala użytkownikowi na sortowanie w chronionym arkuszu.Każdej komórki w zakresie sortowania muszą być odblokowane lub niezabezpieczone.Wartością domyślną jest false.
- allowFiltering
Typ: System.Object
true Pozwala użytkownikowi na Ustawianie filtrów w chronionym arkuszu.Użytkownicy mogą zmienić kryteria filtrowania, ale można nie włączyć lub wyłączyć Autofiltr.Użytkownicy mogą konfigurować filtry w istniejących Autofiltr.Wartością domyślną jest false.
- allowUsingPivotTables
Typ: System.Object
true Pozwala użytkownikowi na używanie raportów tabeli przestawnej w chronionym arkuszu.Wartością domyślną jest false.
Uwagi
Jeśli zastosowanie tej metody z UserInterfaceOnly argumentu równa true a następnie skoroszyt zostanie zapisany, cały arkusz (nie tylko interfejs) będzie w pełni chronione po ponownym otwarciu skoroszytu.Aby ponownie włączyć ochronę interfejsu użytkownika, po otwarciu skoroszytu, należy ponownie zastosować tę metodę z UserInterfaceOnly ustawiona na true.
Istnieje możliwość wprowadzić zmiany w chronionym arkuszu, jeśli hasło jest dostarczany.Ponadto inną metodą byłoby Nie chroń arkusza, niezbędne zmiany, a następnie włączyć ochronę arkusza.
[!UWAGA]
"Niechronione" oznacza komórki mogą być zablokowane (Formatowanie komórek okno dialogowe), ale wchodzą w zakres określonych w Zezwalanie użytkownikom na edycję zakresów okno dialogowe, a użytkownik ma niezabezpieczone zakresu przy użyciu hasła lub zostały zatwierdzone przez uprawnienia NT.
Parametry opcjonalne
Informacje na temat parametrów opcjonalnych można wyświetlić na Parametry opcjonalne w rozwiązaniach Office.
Przykłady
Poniższy kod pobiera wartość ProtectContents właściwości w celu określenia, czy zawartość arkusza jest chroniona.Jeśli zawartość jest niezabezpieczone, a następnie Protect wywoływana jest metoda Contents parametr ustawiony na true tak, aby zawartość są chronione.
Ten przykład dotyczy dostosowywania na poziomie dokumentu.
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);
}
}
}
Zabezpieczenia programu .NET Framework
- Pełne zaufanie do bezpośredniego wywołującego. Tego elementu członkowskiego nie można używać w kodzie częściowo zaufanym. Aby uzyskać więcej informacji, zobacz Używanie bibliotek pochodzących z częściowo zaufanego kodu.