Comment savoir si un classeur Excel est protégé
-
02-07-2019 - |
Question
Je peux utiliser les propriétés d'une feuille de calcul Excel pour indiquer si la feuille de calcul est protégée (Worksheet.Protection, Worksheet.ProtectContents, etc.).
Comment savoir si vous utilisez VBA si l'ensemble du classeur a été protégé?
La solution
J'ai trouvé la réponse moi-même:
J'ai besoin des propriétés Workbook.ProtectStructure
et Workbook.ProtectWindows
.
Autres conseils
Worksheet.ProtectedContents est ce que vous devez utiliser sur chaque feuille de calcul.
Je mettrais donc en place une boucle comme celle-ci:
Public Function wbAllSheetsProtected(wbTarget As Workbook) As Boolean
Dim ws As Worksheet
wbAllSheetsProtected = True
For Each ws In wbTarget.Worksheets
If ws.ProtectContents = False Then
wbAllProtected = False
Exit Function
End If
Next ws
End Function
La fonction retournera True si chaque feuille de calcul est protégée et False s'il existe des feuilles de calcul non protégées. J'espère que c'est ce que vous recherchiez.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow