Método DocumentBase.UnprotectDocument
Fornece a oportunidade de remover a proteção por senha do documento e permitem que os dados armazenados em cache a ser salvo.
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 UnprotectDocument
protected virtual void UnprotectDocument()
Comentários
Substitua esse método em um projeto de nível de documento do Word se o documento está protegido usando uma senha e contém dados em cache que podem ser alterados em tempo de execução. Na implementação deste método, use o Unprotect método para temporariamente desproteger o documento.
Por padrão, as alterações nos dados armazenados em cache em um documento protegido por senha não são persistentes quando o documento for salvo. Para salvar as alterações aos dados em cache, você deve substituir os métodos a seguir em seu projeto:
UnprotectDocument. Quando o documento é salvo, o Visual Studio Tools for Office runtime chama este método. Adicione o código desse método que temporariamente desprotege o documento. Isso permite que as alterações dos dados em cache a ser salvo.
ProtectDocument. Depois que o documento é salvo, o Visual Studio Tools for Office runtime chama este método. Adicione o código desse método que reaplica a proteção ao documento.
For more information, see Como: Cache de dados em um documento protegido por senha.
Exemplos
O exemplo de código a seguir demonstra como substituir o UnprotectDocument método para temporariamente desproteger o documento, para que as alterações dos dados em cache podem ser salvos. Primeiro, o exemplo salva o atual ProtectionType valor, para que o mesmo tipo de proteção pode ser reaplicado posterior a ProtectDocument método. O código pressupõe que a senha é armazenada em um campo chamado securelyStoredPassword. Para usar esse exemplo, executá-lo do ThisDocument a classe em um projeto de nível de documento.
<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
- 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.
Consulte também
Referência
Namespace Microsoft.Office.Tools.Word