Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Mise à jour : Juillet 2008
Appelé par Visual Studio Tools pour Office Runtime afin que vous puissiez réappliquer la protection par mot de passe au classeur après l'enregistrement des données en mémoire cache.
Espace de noms : Microsoft.Office.Tools.Excel
Assembly : Microsoft.Office.Tools.Excel.v9.0 (dans Microsoft.Office.Tools.Excel.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 Excel si votre classeur est protégé à l'aide d'un mot de passe et qu'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 classeur.
Par défaut, les modifications apportées aux données en mémoire cache dans un classeur protégé par mot de passe ne sont pas rendues persistantes lorsque le classeur est enregistré. 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 classeur, Visual Studio Tools pour Office Runtime appelle cette méthode. Ajoutez à cette méthode un code qui annule temporairement la protection du classeur. Cela permet l'enregistrement des modifications apportées aux données en mémoire cache.
ProtectDocument. Après l'enregistrement du classeur, Visual Studio Tools pour Office Runtime appelle cette méthode. Ajoutez à cette méthode un code qui réapplique la protection au classeur.
Pour plus d'informations, consultez Comment : mettre en cache des données dans un document protégé par un mot de passe.
Visual Studio Tools pour Office Runtime 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 qui n'est pas liée à 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 les données en mémoire cache d'être enregistrées.
Exemples
L'exemple de code suivant montre comment remplacer la méthode ProtectDocument pour réappliquer la protection supprimée en remplaçant la méthode UnprotectDocument. Pour utiliser ce code, exécutez-le à partir de la classe ThisWorkbook dans un projet au niveau du document pour Excel. 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 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);
}
Autorisations
- 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.Excel, espace de noms
Autres ressources
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. |