Método WorkbookBase.ProtectDocument
Chamado pelo Visual Studio Tools for Office runtime para que você pode reaplicar a proteção por senha para a pasta de trabalho depois que os dados em cache foi 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 ProtectDocument
protected virtual void ProtectDocument()
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 Protect método para proteger a 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.
O Visual Studio Tools for Office runtime chamadas de ProtectDocument método mesmo se os dados em cache não puderam ser salvas devido a algum erro que não está relacionado a proteção de senha. Por exemplo, se você implementar a ICachedType interface para personalizar como cache de dados é armazenada no documento, o ProtectDocument método é chamado, mesmo se sua ICachedType implementação lança uma exceção que impede que os dados em cache que está sendo salvo.
Exemplos
O exemplo de código a seguir demonstra como substituir o ProtectDocument método reaplicar proteção foi removida, substituindo o UnprotectDocument 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