Condividi tramite


Metodo DocumentBase.UnprotectDocument

Offre la possibilità di rimuovere la password di protezione dal documento e di salvare i dati memorizzati nella cache.

Spazio dei nomi:  Microsoft.Office.Tools.Word
Assembly:  Microsoft.Office.Tools.Word.v4.0.Utilities (in Microsoft.Office.Tools.Word.v4.0.Utilities.dll)

Sintassi

'Dichiarazione
Protected Overridable Sub UnprotectDocument
protected virtual void UnprotectDocument()

Note

Eseguire l'override di questo metodo in un progetto a livello di documento per Word se il documento è protetto tramite una password e contiene dati memorizzati nella cache che potrebbero essere modificati in fase di esecuzione. Nell'implementazione di questo metodo, utilizzare il metodo Unprotect per rimuovere temporaneamente la protezione del documento.

Per impostazione predefinita, le modifiche ai dati memorizzati nella cache in un documento protetto da password non sono salvate in modo permanente quando viene salvato il documento. Per salvare le modifiche apportate ai dati memorizzati nella cache è necessario eseguire l'override dei metodi seguenti del progetto:

  • UnprotectDocument. Dopo il salvataggio del documento, Runtime di Visual Studio Tools per Office chiama questo metodo. Aggiungere il codice a questo metodo che rimuove temporaneamente la protezione del documento. Questa operazione consente il salvataggio delle modifiche apportate ai dati memorizzati nella cache.

  • ProtectDocument. Dopo il salvataggio del documento, il Runtime di Visual Studio Tools per Office chiama questo metodo. Aggiungere a questo metodo il codice per applicare nuovamente la protezione al documento.

Per ulteriori informazioni, vedere Procedura: memorizzare dati nella cache di un documento protetto da password.

Esempi

Nell'esempio di codice seguente viene illustrato come eseguire l'override del metodo UnprotectDocument per rimuovere temporaneamente la protezione del documento in modo che sia possibile salvare le modifiche apportate ai dati memorizzati nella cache. Viene innanzitutto salvato il valore ProtectionType corrente, in modo che sia possibile riapplicare lo stesso tipo di protezione in un secondo momento nel metodo ProtectDocument. Nel codice si presuppone che la password sia memorizzata in un campo denominato securelyStoredPassword. Per utilizzare questo esempio, eseguirlo dalla classe ThisDocument in un progetto a livello di documento.

<CachedAttribute()> _
Public CachedString As String = "This string is cached in the document."

Private protectionTypeValue As Word.WdProtectionType

Protected Overrides Sub UnprotectDocument()
    If Me.ProtectionType <> Word.WdProtectionType.wdNoProtection Then
        protectionTypeValue = Me.ProtectionType
        Me.Unprotect(securelyStoredPassword)
    End If
End Sub

Protected Overrides Sub ProtectDocument()
    Me.Protect(protectionTypeValue, Password:=securelyStoredPassword)
End Sub
[CachedAttribute]
public string CachedString = "This string is cached in the document.";

private Word.WdProtectionType protectionTypeValue;

protected override void UnprotectDocument()
{
    if (this.ProtectionType != Word.WdProtectionType.wdNoProtection)
    {
        protectionTypeValue = this.ProtectionType;
        this.Unprotect(ref securelyStoredPassword);
    }
}

protected override void ProtectDocument()
{
    this.Protect(protectionTypeValue, ref missing,
        ref securelyStoredPassword, ref missing, ref missing);
}

Sicurezza di .NET Framework

Vedere anche

Riferimenti

DocumentBase Classe

Spazio dei nomi Microsoft.Office.Tools.Word

ProtectDocument

Altre risorse

Memorizzazione di dati nella cache

Procedura: memorizzare dati nella cache di un documento protetto da password