Método WorksheetBase.Protect

Protege uma planilha para que ele não pode ser modificado.

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 diferencia maiúsculas de minúsculas, para a planilha.Se esse argumento for omitido, você poderá desproteger a planilha sem usar uma senha.Caso contrário, você deve especificar a senha para desproteger a planilha.Se você esquecer a senha, você não poderá desproteger a planilha.É uma boa idéia manter uma lista de suas senhas e seus respectivos documentos em um lugar seguro.
  • drawingObjects
    Tipo: System.Object
    true para proteger formas.O valor padrão é false.
  • contents
    Tipo: System.Object
    true para proteger o conteúdo de células bloqueadas.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 as macros.Se esse argumento for omitido, a proteção se aplica tanto a macros quanto à interface do usuário.
  • allowFormattingCells
    Tipo: System.Object
    true permite ao usuário formatar qualquer célula em uma planilha protegida.O valor padrão é false.
  • allowFormattingColumns
    Tipo: System.Object
    true permite ao usuário formatar qualquer coluna em uma planilha protegida.O valor padrão é false.
  • allowFormattingRows
    Tipo: System.Object
    true permite ao usuário formatar qualquer linha em uma planilha protegida.O valor padrão é false.
  • allowInsertingColumns
    Tipo: System.Object
    true permite ao usuário inserir colunas na planilha protegida.O valor padrão é false.
  • allowInsertingRows
    Tipo: System.Object
    true permite ao usuário inserir linhas na planilha protegida.O valor padrão é false.
  • allowInsertingHyperlinks
    Tipo: System.Object
    true permite que o usuário inserir 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 a ser excluída é desbloqueada.O valor padrão é false.
  • allowDeletingRows
    Tipo: System.Object
    true permite que o usuário excluir linhas em uma planilha protegida, onde cada célula na linha a ser excluída é desbloqueada.O valor padrão é false.
  • allowSorting
    Tipo: System.Object
    true permite ao usuário classificar na planilha protegida.Cada célula no intervalo de classificação deve ser desbloqueada ou desprotegida.O valor padrão é false.
  • allowFiltering
    Tipo: System.Object
    true permite ao usuário definir filtros na planilha protegida.Os usuários podem alterar os critérios de filtro, mas não pode habilitar ou desabilitar um AutoFiltro.Os usuários podem definir filtros em um AutoFiltro existente.O valor padrão é false.
  • allowUsingPivotTables
    Tipo: System.Object
    true permite ao usuário usar relatórios de tabela dinâmica na planilha protegida.O valor padrão é false.

Comentários

Se você aplicar esse método com o UserInterfaceOnly argumento definido como true e, em seguida, salve a pasta de trabalho, a planilha inteira (não apenas a interface) será totalmente protegida quando você reabrir a pasta de trabalho. Para reabilitar a proteção da interface de usuário depois que a pasta de trabalho é aberta, você deve aplicar novamente esse método com UserInterfaceOnly definido como true.

É possível fazer alterações em uma planilha protegida se a senha for fornecida. Além disso, outro método seria desproteger a planilha, faça as alterações necessárias e proteger a planilha novamente.

ObservaçãoObservação

'Desproteger' significa que a célula pode estar bloqueada (Formatar células caixa de diálogo) mas está incluído em um intervalo definido no Permitem que os usuários editem intervalos caixa de diálogo e o usuário tem desprotegeu o intervalo com uma senha ou validou por meio de permissões NT.

Optional Parameters

Para obter informações sobre os parâmetros opcionais, consulte Parâmetros opcionais em soluções do Office.

Exemplos

O exemplo de código a seguir obtém o valor da ProtectContents propriedade para determinar se o conteúdo da planilha está protegido. Se o conteúdo está desprotegido, em seguida, a Protect método é chamado com o Contents parâmetro definido como true para que o conteúdo esteja protegido.

Este exemplo é para uma personalização em 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(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);
        }
    }
}

Segurança do .NET Framework

Consulte também

Referência

WorksheetBase Classe

Namespace Microsoft.Office.Tools.Excel