Método WorkbookBase.UnprotectDocument
Chamado pelo Visual Studio Tools for Office runtime para que você possa remover a proteção de senha da pasta de trabalho e permitem que os dados em cache a ser salvo.
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
Protected Overridable Sub UnprotectDocument
protected virtual void UnprotectDocument()
Comentários
Substitua esse método em um projeto de nível de documento do Excel, se sua pasta de trabalho está protegida 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 pasta de trabalho.
Por padrão, as alterações nos dados armazenados em cache em uma pasta de trabalho protegida por senha não são persistentes quando a pasta de trabalho é salvo. Para salvar as alterações aos dados em cache, você deve substituir os métodos a seguir em seu projeto:
UnprotectDocument. Quando a pasta de trabalho é salvo, o Visual Studio Tools for Office runtime chama este método. Adicione o código desse método que temporariamente Desprotege a pasta de trabalho. Isso permite que as alterações dos dados em cache a ser salvo.
ProtectDocument. Depois que a pasta de trabalho é salvo, o Visual Studio Tools for Office runtime chama este método. Adicione o código desse método que reaplica a proteção para a pasta de trabalho.
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 desproteger temporariamente a pasta de trabalho, para que as alterações dos dados em cache podem ser salvos. Primeiro, o exemplo salva o atual ProtectStructure e ProtectWindows valores, para que o mesmo tipo de proteção pode ser reaplicado posterior a ProtectDocument método. Para usar esse código, executá-lo do ThisWorkbook a classe em um projeto de nível de documento para o Excel. O código pressupõe que a senha é armazenada em um campo chamado securelyStoredPassword.
<CachedAttribute()> _
Public CachedString As String = "This string is cached in the workbook."
Private protectStructureValue As Boolean
Private protectWindowsValue As Boolean
Protected Overrides Sub UnprotectDocument()
protectStructureValue = Me.ProtectStructure
protectWindowsValue = Me.ProtectWindows
Me.Unprotect(securelyStoredPassword)
End Sub
Protected Overrides Sub ProtectDocument()
Me.Protect(securelyStoredPassword, protectStructureValue, _
protectWindowsValue)
End Sub
[CachedAttribute]
public string CachedString = "This string is cached in the workbook.";
private bool protectStructureValue;
private bool protectWindowsValue;
protected override void UnprotectDocument()
{
protectStructureValue = this.ProtectStructure;
protectWindowsValue = this.ProtectWindows;
this.Unprotect(securelyStoredPassword);
}
protected override void ProtectDocument()
{
this.Protect(securelyStoredPassword, protectStructureValue,
protectWindowsValue);
}
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.Excel