Método WorkbookBase.UnprotectDocument
Chamado por Visual Studio Tools for Office Runtime de modo que você pode remover a proteção de senha de pasta de trabalho e ativar os dados armazenados em cachê a ser salvos.
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 um documento nível para o excel se sua pasta de trabalho é protegida usando uma senha, e contém os dados armazenados em cachê que podem ser modificados em tempo de execução. Em sua implementação desse método, use o método de Unprotect temporariamente ao unprotect a pasta de trabalho.
Por padrão, as alterações aos dados armazenados em cachê em uma pasta de trabalho senha- protegida não são mantidas quando a pasta de trabalho é salva. Para salvar alterações feitas nos dados armazenados em cache, você deve substituir os seguintes métodos no projeto:
UnprotectDocument. Quando a pasta de trabalho é salva, Visual Studio Tools for Office Runtime chama esse método. Adicione código para este método esse temporariamente unprotects a pasta de trabalho. Isso permite que as alterações feitas nos dados armazenados em cache sejam salvas.
ProtectDocument. Após a pasta de trabalho é salva, Visual Studio Tools for Office Runtime chama esse método. Adicione código para este método que reaplica proteção para a pasta de trabalho.
Para obter mais informações, consulte Como armazenar dados em cache em um documento protegido por senha.
Exemplos
O exemplo de código demonstra como substituir temporariamente o método de UnprotectDocument ao unprotect a pasta de trabalho para que as alterações aos dados armazenados em cachê podem ser salvas. O exemplo primeiro salva ProtectStructure e os valores atuais de ProtectWindows , para que o mesmo tipo de proteção pode ser reaplicado posteriormente no método de ProtectDocument . Para usar este código, ele execução da classe de ThisWorkbook em um projeto de um documento nível para o excel. O código pressupõe que a senha seja 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ável.
Consulte também
Referência
Namespace Microsoft.Office.Tools.Excel
Outros recursos
Como armazenar dados em cache em um documento protegido por senha