Compartilhar via


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çãoObservaçã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

Consulte também

Referência

WorksheetBase Classe

Namespace Microsoft.Office.Tools.Excel