excel-vba - workbooks - worksheet excel
Cómo saber si un libro de Excel está protegido (2)
Encontré la respuesta yo mismo:
Necesito el Workbook.ProtectStructure
y Workbook.ProtectWindows
properties.
Puedo usar las propiedades de una hoja de cálculo de Excel para saber si la hoja de trabajo está protegida (Hoja de trabajo.Protección, Hoja de trabajo.ProtectContents, etc.).
¿Cómo puedo decir usando VBA si todo el libro de trabajo ha sido protegido?
Worksheet.ProtectedContents es lo que necesitaría usar en cada Hoja de trabajo.
Entonces, establecería un ciclo como este:
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 función devolverá True si cada hoja de cálculo está protegida, y False si hay hojas de cálculo no protegidas. Espero que esto sea lo que estabas buscando.