2008-09-23 60 views
4

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 un classeur Excel est protégé

Comment puis-je savoir à l'aide de VBA si l'intégralité du classeur a été protégée?

Répondre

4

a trouvé la réponse moi-même:

J'ai besoin Workbook.ProtectStructure et Workbook.ProtectWindows propriétés.

2

Worksheet.ProtectedContents est ce que vous auriez besoin d'utiliser sur chaque feuille de travail.

donc je mis en place une boucle comme ceci:

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 retourne True si chaque feuille de calcul est protégée, et False s'il y a des feuilles de calcul ne sont pas protégés. J'espère que c'est ce que vous cherchiez.

+1

Merci, mais ce n'est pas ce que je cherche. Toutes les feuilles de calcul peuvent être protégées sans que le classeur ne soit protégé. J'ai besoin que le classeur soit protégé afin que l'utilisateur ne puisse pas afficher les feuilles cachées. J'ai trouvé la réponse moi-même: Workbook.ProtectStructure et Workbook.ProtectWindows. – Joe

Questions connexes