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(missing, 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
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.