Попробуйте проверить элемент VBProject
. Я делаю это с Workbook.VBPRoject.VBComponents.Count
. Затем я использую обработчик ошибок для проверки на Err.Number = 50289
, что означает, что рабочая книга защищена паролем и в настоящее время заблокирована. Конечно, после разблокировки VBProject
эта ошибка больше не возникает.
Edit:
Вам следует обратиться непосредственно к книге, которую вы пытаетесь протестировать, в противном случае вы, вероятно, тестируете саму personal.xlsb
. Если вам нужно иметь возможность динамически тестировать книги, просто добавьте
Dim w as Workbook
For each w in Application.Workbooks
If Not w.Name = "personal.xlsb" Then
If w.VBProject.Protection = 1 Then
MsgBox w.Name & " Password Protected"
Else
MsgBox w.Name & " Not Password Protected"
End If
End If
Next w