Interdire le chargement/enregistrement d'autres classeurs (pas de hack OLE)
Une vulnérabilité potentielle est que les classeurs Excel peuvent être enregistrés sur le disque à l’aide de commandes VBA ou OLE. Pour empêcher cette méthode d’extraction de données, XLS Padlock inclut une puissante option de sécurité nommée “Do not allow loading/saving other workbooks” (Interdire le chargement/enregistrement d’autres classeurs).
Lorsqu’elle est activée, cette fonctionnalité rend l’instance Excel exécutant votre application incapable de charger ou d’enregistrer tout autre fichier de classeur. Cela empêche efficacement les utilisateurs d’ouvrir d’autres classeurs et bloque les hacks basés sur VBA qui tentent de copier des données dans un nouveau fichier non protégé.

Que faire si mon application doit enregistrer d’autres classeurs ? La solution VBA SetHelper
Section titled “Que faire si mon application doit enregistrer d’autres classeurs ? La solution VBA SetHelper”Cette fonctionnalité de sécurité bloque également le code VBA standard qui enregistre ou charge des classeurs. Si votre application doit légitimement effectuer ces actions, une solution de contournement est disponible.
Vous pouvez désactiver temporairement la restriction dans votre code VBA. Pour ce faire, vous devez d’abord activer l’option avancée “Allow loading/saving other workbooks through VBA SetOption helper” ici :

Ensuite, vous pouvez utiliser le code VBA suivant :
Dim XLSPadlock As ObjectSet XLSPadlock = Application.COMAddIns("GXLS.GXLSPLock").Object
' Temporarily disable the securityXLSPadlock.SetOption Option:= "2", Value:= "0"XLSPadlock.SetOption Option:= "1", Value:= "1" ' Also disable encrypted save prompt
' Your code to save a normal workbookActiveWorkbook.SaveAs "D:\My Documents\NormalWorkbook.xlsx"
' Re-enable the securityXLSPadlock.SetOption Option:= "2", Value:= "1"XLSPadlock.SetOption Option:= "1", Value:= "0"