Método WorkbookBase.ProtectDocument
Chamado por Visual Studio Tools for Office Runtime de modo que você possa reaplicar a proteção de senha para a pasta de trabalho depois que os dados armazenados em cachê foram 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 ProtectDocument
protected virtual void ProtectDocument()
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 Protect para proteger 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.
Visual Studio Tools for Office Runtime chama o método de ProtectDocument mesmo se os dados armazenados em cachê não podem ser salvo devido a erros que não está relacionada à proteção de senha. Por exemplo, se você implementa a interface de ICachedType para personalizar como os dados armazenados em cachê são armazenados no documento, o método de ProtectDocument é chamado mesmo se sua implementação deICachedType gerencie uma exceção que impede os dados armazenados em cachê serem 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 . 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