Udostępnij za pośrednictwem


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

Zobacz też

Informacje

WorksheetBase Klasa

Przestrzeń nazw Microsoft.Office.Tools.Excel