Как узнать, защищена ли книга Excel

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

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

Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
4
0
6 817
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

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, если есть какие-либо незащищенные листы. Надеюсь, это то, что вы искали.

Спасибо, но я не это ищу. Все листы можно защитить без защиты книги. Мне нужно, чтобы книга была защищена, чтобы пользователь не мог отображать скрытые листы. Я сам нашел ответ: Workbook.ProtectStructure и Workbook.ProtectWindows.

Joe 23.09.2008 19:56
Ответ принят как подходящий

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

Мне нужны свойства Workbook.ProtectStructure и Workbook.ProtectWindows.

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