Compartilhar via


Método WorkbookBase.UnprotectDocument

Chamado por Visual Studio Tools for Office Runtime para que você possa remova a proteção de senha de pasta de trabalho e ativar os dados armazenados em cache 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 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 Unprotect temporariamente ao unprotect 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.

Exemplos

O exemplo de código a seguir demonstra como temporariamente substituir o método de UnprotectDocument ao unprotect a pasta de trabalho para que as alterações aos dados armazenados em cache 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 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

Consulte também

Referência

WorkbookBase Classe

Namespace Microsoft.Office.Tools.Excel

ProtectDocument

Outros recursos

Cache de dados

Como: dados do Cache em um documento protegido por senha