Я хочу защитить все листы в книге на основе имени пользователя, поэтому книги будут защищены от внешнего использования, тогда как внутренне мы можем легко использовать. Тем не менее, код просто всегда заявляет, что линия Если ws.Protect = True Then является ложным, даже когда я знаю, лист защищен ...Защитить все листы в рабочей книге
Private Sub Workbook_Open()
Dim strUser, Num, myCount, ws
strUser = CreateObject("WScript.Network").UserName
strUser = LCase(strUser)
Num = CLng(Right(strUser, 6))
If Left(strUser, 1) = "D" And Len(strUser) = 11 And IsNumeric(Num) Then
For Each ws In ActiveWorkbook.Worksheets
If ws.Protect = True Then
ws.Unprotect "password"
Else
ws.Protect "password", DrawingObjects:=True, Contents:=True, _
AllowSorting:=True, AllowFiltering:=True
End If
Next ws
End If
End Sub
любая помощь будет оценен по достоинству!
Спасибо! Я был так близко, но все же так далеко! – Lowpar