У меня есть файл Excel с некоторыми сложными функциями, поэтому я настроил следующий код, чтобы некоторые мои коллеги не внесли непреднамеренных изменений, а затем сохранили файл. Просто, и это работает. К сожалению, я перехитрил себя.
Этот же файл требует периодических полуручных обновлений, которые извлекают информацию об имени файла с наших сетевых дисков. Я написал макрос, который выполняет это. Он запускается, когда пользователь нажимает кнопку. [Это полуручное руководство, потому что мы работаем на разных континентах, и хотя это обновление занимает 90 секунд во Франции, в США - 30 минут.] Это также работает.
Моя проблема в том, что я хочу, чтобы все могли запустить обновление макроса, а затем разрешить автоматическое сохранение файла после этого, но я не хочу выдавать пароль всем в группе. В настоящее время макрос обновления останавливается при достижении кода «beforesave». Есть ли способ либо
- обойти этот запрос пароля при запуске сохранения из макроса обновления, либо
- поместить пароль в макрос обновления таким образом, чтобы "beforesave" код распознает и примет его
Код:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim Password As String Dim EnteredPassword As String
Password = "NOTMYACTUALPASSWORD"
EnteredPassword = InputBox("Enter password to save changes")
If EnteredPassword <> Password Then
Cancel = True
MsgBox ("Password incorrect, file not saved")
End If
End Sub