Поделиться через


WorksheetBase.Protect - метод

Защищает рабочий лист от изменений.

Пространство имен:  Microsoft.Office.Tools.Excel
Сборка:  Microsoft.Office.Tools.Excel.v4.0.Utilities (в Microsoft.Office.Tools.Excel.v4.0.Utilities.dll)

Синтаксис

'Декларация
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
)

Параметры

  • password
    Тип: System.Object
    Пароль доступа к рабочему листу, задаваемый с учетом регистра.Если этот аргумент не задан, можно снять защиту рабочего листа, не используя пароль.В противном случае чтобы снять защиту рабочего листа, необходимо указать пароль.Если пароль утерян, снять защиту с рабочего листа будет невозможно.Список паролей и соответствующие имена документов следует хранить в надежном месте.
  • drawingObjects
    Тип: System.Object
    Значение true для защиты фигур.Значение по умолчанию — false.
  • contents
    Тип: System.Object
    true для защиты содержимого заблокированных ячеек.Значение по умолчанию — true.
  • scenarios
    Тип: System.Object
    Значение true для защиты скриптов.Значение по умолчанию — true.
  • userInterfaceOnly
    Тип: System.Object
    Значение true используется для защиты пользовательского интерфейса, но не макросов.Если этот аргумент не указан, защита применяется как к макросам, так и к пользовательскому интерфейсу.
  • allowFormattingCells
    Тип: System.Object
    Значение true позволяет пользователю производить форматирование любой ячейки защищенного рабочего листа.Значение по умолчанию — false.
  • allowFormattingColumns
    Тип: System.Object
    Значение true позволяет пользователю производить форматирование любого столбца защищенного рабочего листа.Значение по умолчанию — false.
  • allowFormattingRows
    Тип: System.Object
    Значение true позволяет пользователю производить форматирование любой строки защищенного рабочего листа.Значение по умолчанию — false.
  • allowInsertingColumns
    Тип: System.Object
    Значение true позволяет пользователю вставлять столбцы в защищенный рабочий лист.Значение по умолчанию — false.
  • allowInsertingRows
    Тип: System.Object
    Значение true позволяет пользователю вставлять строки в защищенный рабочий лист.Значение по умолчанию — false.
  • allowInsertingHyperlinks
    Тип: System.Object
    Значение true позволяет пользователю вставлять гиперссылки в защищенный рабочий лист.Значение по умолчанию — false.
  • allowDeletingColumns
    Тип: System.Object
    Значение true позволяет пользователю удалять столбцы из защищенного рабочего листа, если ни одна из ячеек удаляемого столбца не заблокирована.Значение по умолчанию — false.
  • allowDeletingRows
    Тип: System.Object
    Значение true позволяет пользователю удалять строки из защищенного рабочего листа, если ни одна из ячеек удаляемой строки не заблокирована.Значение по умолчанию — false.
  • allowSorting
    Тип: System.Object
    Значение true позволяет пользователю производить сортировку в защищенном рабочем листе.Ни одна из ячеек в сортируемом диапазоне не должна быть заблокирована или не должна быть защищена.Значение по умолчанию — false.
  • allowFiltering
    Тип: System.Object
    Значение true позволяет пользователю применять фильтры к защищенному рабочему листу.Пользователь может изменить критерии фильтрации, но не может включать или отключать автофильтрацию.Пользователь может применять фильтры к существующим автофильтрам.Значение по умолчанию — false.
  • allowUsingPivotTables
    Тип: System.Object
    Значение true позволяет пользователю применять отчеты сводных таблиц к защищенному рабочему листу.Значение по умолчанию — false.

Заметки

Если данный метод применяется с аргументом ,UserInterfaceOnly установленным в значение true, после чего рабочая книга сохраняется, при повторном открытии книги будет защищен весь рабочий лист (а не только интерфейс).Для повторного включения защиты пользовательского интерфейса после открытия рабочей книги необходимо еще раз применить этот метод с аргументом UserInterfaceOnly, установленным в значение true.

При наличии пароля в защищенный рабочий лист можно вносить изменения.Другим способом является снятие защиты с рабочего листа, внесение необходимых изменений и повторное применение защиты.

ПримечаниеПримечание

Термин «незащищенный» означает, что ячейка может быть заблокирована (диалоговое окно Формат ячеек), но входит в диапазон, определенный в диалоговом окне Разрешить изменение диапазонов, и пользователь снял защиту с диапазона с помощью пароля или разрешений NT.

Необязательные параметры

Сведения о необязательных параметрах см. в разделе Необязательные параметры в решениях Office.

Примеры

В следующем примере путем обращения к свойству ProtectContents программный код определяет, защищено ли содержимое рабочего листа.Если содержимое не защищено, для применения к нему защиты вызывается метод Protect, параметру Contents которого присвоено значение true.

В этом примере демонстрируется настройка уровня документа.

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

См. также

Ссылки

WorksheetBase Класс

Microsoft.Office.Tools.Excel - пространство имен