Вопрос

Я могу использовать свойства листа Excel, чтобы определить, защищен ли лист (Worksheet.Protection, Worksheet.ProtectContents и т. д.).

Как с помощью VBA узнать, защищена ли вся книга?

Это было полезно?

Решение

Ответ нашел сам:

мне нужно Workbook.ProtectStructure и Workbook.ProtectWindows характеристики.

Другие советы

Worksheet.ProtectedContents — это то, что вам нужно будет использовать на каждом листе.

Поэтому я бы создал такой цикл:

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

Функция вернет True, если каждый лист защищен, и False, если есть незащищенные листы.Надеюсь, это то, что вы искали.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top