Compartilhar via


Método DocumentBase.ProtectDocument

Fornece uma oportunidade para reaplicar a proteção de senha para o documento após os dados armazenados em cache foram salvos.

Namespace:  Microsoft.Office.Tools.Word
Assembly:  Microsoft.Office.Tools.Word.v4.0.Utilities (em Microsoft.Office.Tools.Word.v4.0.Utilities.dll)

Sintaxe

'Declaração
Protected Overridable Sub ProtectDocument
protected virtual void ProtectDocument()

Comentários

Substitua esse método em um projeto de um documento nível para Word se seu documento está protegido usando uma senha, e contém os dados armazenados em cache que podem ser modificados em tempo de execução.Na implementação do método, use o método de Protect para proteger o documento.

Por padrão, as alterações aos dados armazenados em cache em um documento protegido por senha não são mantidas quando o documento é salvo.Para salvar as alterações aos dados armazenados em cache, você deve substituir os seguintes métodos em seu projeto:

  • UnprotectDocument.Quando o documento é salvo, Visual Studio Tools for Office Runtime chama esse método.Adicione código para este método que temporariamente unprotects o documento.Isso permite que as alterações aos dados armazenados em cache a ser salvos.

  • ProtectDocument.Após o documento é salvo, Visual Studio Tools for Office Runtime chama esse método.Adicione código para este método que reaplica proteção para o documento.

Para obter mais informações, consulte Como: dados do Cache em um documento protegido por senha.

Visual Studio Tools for Office Runtime chama o método de ProtectDocument mesmo se os dados armazenados em cache não podem ser salvo devido a erros que não está relacionada à proteção de senha.Por exemplo, se você implementar a interface de ICachedType para personalizar como os dados armazenados em cache são armazenados no documento, o método é chamado de ProtectDocument mesmo se sua implementação de ICachedType gera uma exceção que impede os dados armazenados em cache são salvos.

Exemplos

O exemplo de código a seguir demonstra como substituir o método de ProtectDocument para reaplicar proteção que foi removida substituindo o método de UnprotectDocument .O código presume que a senha seja armazenada em um campo denominado securelyStoredPassword.Para usar este exemplo, ele execução da classe de ThisDocument em um projeto de um documento nível.

<CachedAttribute()> _
Public CachedString As String = "This string is cached in the document."

Private protectionTypeValue As Word.WdProtectionType

Protected Overrides Sub UnprotectDocument()
    If Me.ProtectionType <> Word.WdProtectionType.wdNoProtection Then
        protectionTypeValue = Me.ProtectionType
        Me.Unprotect(securelyStoredPassword)
    End If
End Sub

Protected Overrides Sub ProtectDocument()
    Me.Protect(protectionTypeValue, password:=securelyStoredPassword)
End Sub
[CachedAttribute]
public string CachedString = "This string is cached in the document.";

private Word.WdProtectionType protectionTypeValue;

protected override void UnprotectDocument()
{
    if (this.ProtectionType != Word.WdProtectionType.wdNoProtection)
    {
        protectionTypeValue = this.ProtectionType;
        this.Unprotect(ref securelyStoredPassword);
    }
}

protected override void ProtectDocument()
{
    this.Protect(protectionTypeValue, ref missing,
        ref securelyStoredPassword, ref missing, ref missing);
}

Segurança do .NET Framework

Consulte também

Referência

DocumentBase Classe

Namespace Microsoft.Office.Tools.Word

UnprotectDocument

Outros recursos

Cache de dados

Como: dados do Cache em um documento protegido por senha