WorkbookBase.ProtectDocument Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Méthode appelée par le 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 cache.
protected virtual void ProtectDocument ();
Implémente
Exemples
L’exemple de code suivant montre comment substituer la ProtectDocument méthode pour réappliquer la protection qui a été supprimée en substituant la UnprotectDocument méthode. Pour utiliser ce code, exécutez-le à partir de la ThisWorkbook classe 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 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);
}
<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
Remarques
Substituez 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 contient des données mises en cache qui peuvent être modifiées au moment de l’exécution. Dans votre implémentation de cette méthode, utilisez la Protect méthode pour protéger le classeur.
Par défaut, les modifications apportées aux données mises en cache dans un classeur protégé par un mot de passe ne sont pas conservées lorsque le classeur est enregistré. Pour enregistrer les modifications apportées aux données mises en cache, vous devez substituer les méthodes suivantes dans votre projet :
UnprotectDocument. Lorsque le classeur est enregistré, le Visual Studio Tools pour Office Runtime appelle cette méthode. Ajoutez du code à cette méthode qui Déprotège temporairement le classeur. Cela permet d’enregistrer les modifications apportées aux données mises en cache.
ProtectDocument. Une fois le classeur enregistré, le Visual Studio Tools pour Office Runtime appelle cette méthode. Ajoutez du code à cette méthode 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 mot de passe.
Le Visual Studio Tools pour Office Runtime appelle la ProtectDocument méthode même si les données en mémoire cache n’ont pas pu être enregistrées en raison d’une erreur qui n’est pas liée à la protection par mot de passe. Par exemple, si vous implémentez l' ICachedType interface pour personnaliser la façon dont les données mises en cache sont stockées dans le document, la ProtectDocument méthode est appelée même si votre ICachedType implémentation lève une exception qui empêche l’enregistrement des données en mémoire cache.