Document.ProtectDocument, méthode (System 2007)

Mise à jour : Juillet 2008

Appelé par le runtime Visual Studio Tools pour Office pour vous permettre d'appliquer de nouveau la protection par mot de passe au document après l'enregistrement des données en mémoire cache.

Espace de noms :  Microsoft.Office.Tools.Word
Assembly :  Microsoft.Office.Tools.Word.v9.0 (dans Microsoft.Office.Tools.Word.v9.0.dll)

Syntaxe

Protected Overridable Sub ProtectDocument

Me.ProtectDocument()
protected virtual void ProtectDocument()

Notes

Remplacez cette méthode dans un projet au niveau du document pour Word si votre document est protégé à l'aide d'un mot de passe et s'il contient des données en mémoire cache susceptibles d'être modifiées au moment de l'exécution. Dans votre implémentation de cette méthode, utilisez la méthode Protect pour protéger le document.

Par défaut, les modifications apportées aux données en mémoire cache dans un document protégé par mot de passe ne sont pas rendues persistantes lors de l'enregistrement du document. Pour enregistrer les modifications apportées aux données en mémoire cache, vous devez remplacer les méthodes suivantes dans votre projet :

  • UnprotectDocument. Lorsque vous enregistrez le document, le runtime Visual Studio Tools pour Office appelle cette méthode. Ajoutez à cette méthode un code qui annule temporairement la protection du document. Cela permet l'enregistrement des modifications apportées aux données en mémoire cache.

  • ProtectDocument. Une fois le document enregistré, le runtime Visual Studio Tools pour Office appelle cette méthode. Ajoutez à cette méthode un code qui applique de nouveau la protection au document.

Pour plus d'informations, consultez Comment : mettre en cache des données dans un document protégé par un mot de passe.

Le runtime Visual Studio Tools pour Office appelle la méthode ProtectDocument même si les données en mémoire cache n'ont pas pu être enregistrées à cause d'une erreur sans rapport avec la protection par mot de passe. Par exemple, si vous implémentez l'interface ICachedType pour personnaliser la manière dont les données en mémoire cache sont stockées dans le document, la méthode ProtectDocument est appelée même si votre implémentation ICachedType lève une exception qui empêche l'enregistrement des données en mémoire cache.

Exemples

L'exemple de code suivant montre comment remplacer la méthode ProtectDocument pour appliquer de nouveau la protection supprimée en remplaçant la méthode UnprotectDocument. Pour utiliser ce code, exécutez-le à partir de la classe ThisDocument dans un projet au niveau du document pour Word. Le code suppose que le mot de passe est stocké dans un champ nommé 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);
}

Autorisations

Voir aussi

Référence

Document, classe

Membres Document

Microsoft.Office.Tools.Word, espace de noms

UnprotectDocument

Autres ressources

Mise en cache des données

Comment : mettre en cache des données dans un document protégé par un mot de passe

Historique des modifications

Date

Historique

Raison

Juillet 2008

Nouvelle rubrique

Modifications de fonctionnalités dans le SP1.