Método DocumentBase.UnprotectDocument
Fornece uma oportunidade para remover a proteção de senha do documento e de ativar os dados armazenados em cache a ser 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 UnprotectDocument
protected virtual void UnprotectDocument()
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 Unprotect temporariamente ao unprotect 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.
Exemplos
O exemplo de código a seguir demonstra como temporariamente substituir o método de UnprotectDocument ao unprotect o documento de modo que as alterações aos dados armazenados em cache podem ser salvas.O exemplo primeiro salva o valor atual de ProtectionType , para que o mesmo tipo de proteção pode ser reaplicado posteriormente no método de ProtectDocument .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
- 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