Восстановить защиту листа после сохранения и закрытия


1

В настоящее время у меня есть код VBA, который автоматически снимает защиту всех листов в моем файле Excel 2016 по имени пользователя. enter image description here

В настоящее время, когда я открываю файл, он запрашивает пароль. Я не хочу, чтобы это запрашивало пароль, я просто хочу снять защиту с ВСЕХ листов, если имя пользователя человека, открывающего его, совпадает с тем, что будет в коде.

Скажем, я уполномочен вносить изменения в рабочую книгу и открываю ее, и ВСЕ листы не защищены. Я делаю некоторые изменения, но хочу автоматически восстановить защиту, которую я настроил на каждом листе, так как я сохраняю внесенные изменения.

Конечный пользователь, который будет заполнять рабочие листы, не имеет права что-либо менять, открывает файл и все средства защиты, которые я настроил, на месте и активны. В настоящее время я использую этот код, но он не работает.

 Private Sub Workbook_BeforeClose(Cancel As Boolean)
      Sheets("ADD-EXTEND").Protect Password:="SPAR"
      ActiveWorkbook.Save
 End Sub

Постскриптум Эта подпункт ниже кода для разблокировки листов в ThisWorkbook?

Ответы:


0

Скриншота ниже должно быть достаточно, чтобы начать, это довольно очевидно:

excel_protect_worksheet_on_close


Просто для ясности, если бы у меня было несколько листов, я бы заменил sheet1 на имя моего листа и заменил "qwerty123" своим паролем? Тогда повторить этот код для всех моих листов? Или есть способ в корпоративных ВСЕХ моих листов в одной строке кода?
R.Conklin

Я не смог заставить этот код работать.
R.Conklin

Вопрос был обновлен.
R.Conklin
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.