Método WorksheetBase.Protect
Protege uma planilha para que ele não pode ser modificada.
Namespace: Microsoft.Office.Tools.Excel
Assembly: Microsoft.Office.Tools.Excel.v4.0.Utilities (em Microsoft.Office.Tools.Excel.v4.0.Utilities.dll)
Sintaxe
'Declaração
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
)
Parâmetros
- password
Tipo: System.Object
Uma senha com diferenciação de maiúsculas e minúsculas para a planilha.Se esse argumento for omitido, você pode unprotect a planilha sem usar uma senha.Caso contrário, você deve especificar a senha para unprotect a planilha.Se você esquece a senha, você não pode unprotect a planilha.É uma boa ideia manter uma lista de suas senhas e seus nomes correspondentes de documento em um local seguro.
- drawingObjects
Tipo: System.Object
true para proteger formas.O valor padrão é false.
- contents
Tipo: System.Object
true para proteger conteúdo das células bloqueados.O valor padrão é true.
- scenarios
Tipo: System.Object
true para proteger cenários.O valor padrão é true.
- userInterfaceOnly
Tipo: System.Object
true para proteger a interface do usuário, mas não macros.Se esse argumento for omitido, a proteção se aplica a macros e para a interface do usuário.
- allowFormattingCells
Tipo: System.Object
true permite que o usuário formata qualquer célula em uma planilha protegida.O valor padrão é false.
- allowFormattingColumns
Tipo: System.Object
true permite que o usuário formata qualquer coluna em uma planilha protegida.O valor padrão é false.
- allowFormattingRows
Tipo: System.Object
true permite que o usuário formata qualquer linha em uma planilha protegida.O valor padrão é false.
- allowInsertingColumns
Tipo: System.Object
true permite que o usuário insere colunas na planilha protegida.O valor padrão é false.
- allowInsertingRows
Tipo: System.Object
true permite que o usuário insere linhas na planilha protegida.O valor padrão é false.
- allowInsertingHyperlinks
Tipo: System.Object
true permite que o usuário insere hiperlinks na planilha.O valor padrão é false.
- allowDeletingColumns
Tipo: System.Object
true permite que o usuário excluir colunas na planilha protegida, onde cada célula na coluna é desbloqueada ser excluído.O valor padrão é false.
- allowDeletingRows
Tipo: System.Object
true permite que o usuário excluir linhas na planilha protegida, onde cada célula na linha é desbloqueada ser excluído.O valor padrão é false.
- allowSorting
Tipo: System.Object
true permite que o usuário classe na planilha protegida.Cada célula no intervalo de tipo deve ser desbloqueada ou desprotegida.O valor padrão é false.
- allowFiltering
Tipo: System.Object
true permite que o usuário definia filtros na planilha protegida.Os usuários podem alterar critérios de filtragem mas não pode ativar ou desativar um autofilter.Os usuários podem configurar filtros em um autofilter existente.O valor padrão é false.
- allowUsingPivotTables
Tipo: System.Object
true permite que o usuário use os relatórios de tabela dinâmica na planilha protegida.O valor padrão é false.
Comentários
Se você aplica esse método com o argumento de UserInterfaceOnly definido como true e então salve a pasta de trabalho, a planilha inteiro (não apenas a interface) será protegida totalmente quando você reabra a pasta de trabalho.Para reativar a proteção de interface do usuário após a pasta de trabalho é aberta, você deve novamente aplicar esse método com UserInterfaceOnly definido como true.
É possível fazer alterações em uma planilha protegida se a senha é fornecida.Além disso, outro método seria ao unprotect a planilha, fazer as alterações necessárias, e protege a planilha novamente.
Observação |
---|
Significa “desprotegidos” a célula podem ser bloqueados (caixa de diálogo deFormatar Células ) mas são incluídos em um intervalo definida na caixa de diálogo de Permitir que os Usuários Editem Intervalos , e o usuário tem desprotegido o intervalo com uma senha ou validado pelas permissões de NT. |
Parâmetros Opcionais
Para obter informações sobre parâmetros opcionais, consulte Parâmetros opcionais em soluções do Office.
Exemplos
O exemplo de código obtém o valor da propriedade de ProtectContents para determinar se o conteúdo da planilha são protegidos.Se o conteúdo são desprotegidos, então o método de Protect é chamado com o parâmetro de Contents definido como true de modo que o conteúdo sejam protegidos.
Este exemplo é para uma personalização da nível.
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);
}
}
}
Segurança do .NET Framework
- Confiança total para o chamador imediato. O membro não pode ser usado por código parcialmente confiável. Para obter mais informações, consulte Usando bibliotecas de código parcialmente confiáveis.