Método WorkbookBase.ProtectDocument
Chamado por Visual Studio Tools for Office Runtime para que você possa reaplicar a proteção de senha para a pasta de trabalho depois que os dados armazenados em cache 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 da nível do excel se sua pasta de trabalho é protegida 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 Protect para proteger a pasta de trabalho.
Por padrão, as alterações aos dados armazenados em cache em uma pasta de trabalho senha- protegida não são mantidas quando a pasta de trabalho são salvas.Para salvar as alterações aos dados armazenados em cache, você deve substituir os seguintes métodos em seu 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 que temporariamente unprotects a pasta de trabalho.Isso permite que as alterações aos dados armazenados em cache a ser salvos.
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: dados do 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 cache não podem ser salvo devido a erros que não está relacionada à proteção de senha.Por exemplo, se você implementar a interface de ICachedType para personalizar como os dados armazenados em cache são armazenados no documento, o método é chamado de ProtectDocument mesmo se sua implementação de ICachedType gera uma exceção que impede os dados armazenados em cache são 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 da nível do excel.O código presume que a senha seja armazenada em um campo denominado 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