Всем привет! 👋
Сегодня мы вас научим небольшому трюку позволяющему отключить функцию «Сохранить как». Это означает, что пользователь не сможет сохранить ваш файл под другим именем или в другом месте.
Безусловно такая защита не является универсальной, но в некоторых случаях уверены она вам пригодиться.
▶️ Пишем макрос
Предполагается что ваша книга уже сохранена с возможностью поддержки макросов
Приведенный ниже макрос должен быть помещен в модуль книги (ThisWorkbook)
📝 Описание:
- Workbook_BeforeSave - это событие, которое возникает перед сохранением книги. В данном случае, код находится в модуле ThisWorkbook, который относится к целевой книге.
- SaveAsUI - логический параметр, указывающий, был ли пользовательский интерфейс Save As (Сохранить как) открыт или нет.
- Cancel - параметр, который позволяет отменить операцию сохранения, если установлено значение True.
- Код If SaveAsUI = True Then Cancel = True проверяет, был ли открыт пользовательский интерфейс Save As при сохранении книги. Если это так, то операция сохранения отменяется путем установки параметра Cancel в значение True.
▶️ Установка защиты VBA проекта
Чтобы исключить доступ к макросу выполним следующее
- Откройте книгу Excel, в которой находится VBA проект, который вы хотите защитить.
- Нажмите клавиши Alt + F11 на клавиатуре. Это откроет редактор VBA.
- В редакторе VBA выберите проект, который вы хотите защитить, в окне "Project Explorer" (Обозреватель проекта) слева.
- Кликните ПКМ на выбранном проекте и выберите "Properties" (Свойства) в контекстном меню.
- В открывшемся окне "VBAProject - [Имя проекта]" выберите вкладку "Protection" (Защита).
- Установите флажок рядом с "Lock project for viewing" (Заблокировать проект для просмотра), чтобы защитить код от просмотра и редактирования и пароль в поле "Password" (Пароль). Этот пароль будет требоваться для снятия защиты с проекта.
- Кликните "OK", чтобы закрыть окно "Properties" (Свойства) и сохранить настройки защиты.
- Сохраните книгу Excel, чтобы применить защиту VBA проекта.
Теперь VBA проект в вашей книге Excel будет защищен от просмотра и редактирования. При попытке просмотра или изменения кода VBA будет запрошен пароль.
▶️ Тестируем результат
Закройте книгу сохранив изменения. После повторного открытия вы убедитесь что возможность «Сохранить как» не доступна, а доступ к VBA проекту закрыт: