Condividi tramite


Metodo Document.ProtectDocument (System 2007)

Aggiornamento: Luglio 2008

Chiamato dal runtime di Visual Studio Tools per Office in modo che sia possibile applicare di nuovo la password di protezione al documento dopo il salvataggio dei dati memorizzati nella cache.

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

Sintassi

Protected Overridable Sub ProtectDocument

Me.ProtectDocument()
protected virtual void ProtectDocument()

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 Protect per proteggere il 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. Quando il documento viene salvato, il runtime di Visual Studio Tools per Office chiama questo metodo. Aggiungere il codice a questo metodo che rimuove temporaneamente la protezione del documento. Ciò consente il salvataggio delle modifiche apportate ai dati memorizzati nella cache.

  • ProtectDocument. Dopo aver salvato il 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 la classe Procedura: memorizzare dati nella cache di un documento protetto da password.

Il runtime di Visual Studio Tools per Office chiama il metodo ProtectDocumentanche se non è stato possibile salvare i dati memorizzati nella cache a causa di alcuni errori non correlati alla protezione con password. Ad esempio, se si implementa l'interfaccia ICachedType per personalizzare la modalità di archiviazione dei dati memorizzati nella cache nel documento, il metodo ProtectDocument viene chiamato anche se l'implementazione ICachedType genera un'eccezione che impedisce il salvataggio dei dati memorizzati nella cache.

Esempi

Nell'esempio di codice riportato di seguito viene illustrato come eseguire l'override del metodo ProtectDocument per applicare nuovamente la protezione rimossa eseguendo l'override del metodo UnprotectDocument. Per utilizzare questo codice, eseguirlo dalla classe ThisDocument in un progetto a livello di documento per Word. Nel codice si presuppone che la password sia memorizzata in un campo denominato securelyStoredPassword.

<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);
}

Autorizzazioni

Vedere anche

Riferimenti

Document Classe

Membri Document

Spazio dei nomi Microsoft.Office.Tools.Word

UnprotectDocument

Altre risorse

Memorizzazione di dati nella cache

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

Cronologia delle modifiche

Date

History

Motivo

Luglio 2008

Nuovo argomento.

Modifica di funzionalità in SP1.