1

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

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

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

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

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

PS Этот саб ниже кода для разблокировки листов в ThisWorkbook?

1 ответ1

0

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

excel_protect_worksheet_on_close

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .