DocumentBase.UnprotectDocument, méthode
Permet de supprimer la protection par mot de passe du document et d'enregistrer les données en mémoire cache.
Espace de noms : Microsoft.Office.Tools.Word
Assembly : Microsoft.Office.Tools.Word.v4.0.Utilities (dans Microsoft.Office.Tools.Word.v4.0.Utilities.dll)
Syntaxe
'Déclaration
Protected Overridable Sub UnprotectDocument
protected virtual void UnprotectDocument()
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 Unprotect pour annuler temporairement la protection du 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 le document est enregistré, Visual Studio Tools pour Office Runtime 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 mises en cache.
ProtectDocument. Après avoir enregistré le document, Visual Studio Tools pour Office Runtime 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.
Exemples
L'exemple de code suivant montre comment remplacer la méthode UnprotectDocument pour annuler temporairement la protection du document afin que les modifications apportées aux données en mémoire cache puissent être enregistrées. L'exemple enregistre d'abord la valeur ProtectionType actuelle afin que le même type de protection puisse être appliqué ultérieurement dans la méthode ProtectDocument. Le code suppose que le mot de passe est stocké dans un champ nommé securelyStoredPassword. Pour utiliser cet exemple, exécutez-le à partir de la classe ThisDocument dans un projet au niveau du document.
<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);
}
Sécurité .NET Framework
- Confiance totale accordée à l'appelant immédiat. Ce membre ne peut pas être utilisé par du code d'un niveau de confiance partiel. Pour plus d'informations, consultez Utilisation de bibliothèques à partir de code d'un niveau de confiance partiel.
Voir aussi
Référence
Microsoft.Office.Tools.Word, espace de noms
Autres ressources
Comment : mettre en cache des données dans un document protégé par un mot de passe