Compartilhar via


Método WorksheetBase.Protect

Protege uma planilha de modo que 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 é omitido, você pode unprotect a planilha sem usar uma senha.Caso contrário, você deve especificar a senha para o unprotect a planilha.Caso se esqueça da senha, você não pode desproteger a planilha.É uma boa ideia manter uma lista das senhas e seus nomes de documento correspondentes 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.Caso esse argumento seja omitido, a proteção se aplica a macros e à 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 ser excluída é desbloqueada.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 ser excluída é desbloqueada.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 defina 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 definir filtros em um autofilter existente.O valor padrão é false.
  • allowUsingPivotTables
    Tipo: System.Object
    true permite que o usuário use 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 salve a pasta de trabalho, a planilha inteira (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 este 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.

Dica

Significa “desprotegidos” a célula podem ser bloqueados (caixa de diálogoFormatar Células ) mas são incluídos em um intervalo definido na caixa de diálogo 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 destina-se a uma personalização no nível de documento.

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

Consulte também

Referência

WorksheetBase Classe

Namespace Microsoft.Office.Tools.Excel