Если требуется защитить данные в документе Excel, создание пользовательской формы с текстовым полем для ввода пароля может стать эффективным решением.
Сегодня рассмотрим, как создать такую пользовательскую форму с текстовым полем для ввода пароля.
▶️ Зачем создавать пользовательскую форму с текстовым полем для ввода пароля
Чтобы обеспечить доступ только определенным пользователям и предотвратить несанкционированный доступ к конфиденциальным данным, использование пользовательской формы с текстовым полем для ввода пароля может быть эффективным решением. С одним "но"...😉 (о чем расскажем в заключении)
▶️ Создание пользовательской формы для ввода пароля
🔘 Создание пользовательской формы. Для этого потребуется перейти в режим разработки, выбрать "Вставка" и создать новую форму:
🔔 Для удобства изменим имя формы и ее заголовок:
🔘 Добавление текстового поля для ввода пароля. Выберите инструмент "Текстовое поле" и разместите его на форме:
🔔 Задаем имя текстового поля:
🔘 Добавление кнопки "Войти" для проверки пароля. Выберите инструмент "Кнопка" и разместите ее на форме:
🔔 Не забудьте изменить надпись на кнопке и имя:
▶️ Реализация проверки пароля с использованием VBA
🔘 Создание модуля VBA для обработки событий кнопки "Войти"
Для этого выберите форму и перейдите в режим разработки. Затем дважды щелкните на кнопке "Войти" и создайте событие "Click":
🔘 Задание пароля и проверка правильности введенного пароля
В модуле VBA нужно определить пароль в переменной и сравнить его с тем, что был введен в текстовом поле.
🔘 Управление доступом на основе результатов проверки пароля
Если пароль верный - будет разрешен доступ к определенным листам или другим операциям, иначе доступ будет закрыт:
▶️ Примеры кода VBA для проверки пароля
🔘 Код для вызова пользовательской формы:
🔔 Обязательно скрываем все листы при открытии книги, кроме "стартового" Листа.
Для этого используем событие Workbook_Open в модуле ThisWorkbook:
🔘 Код для проверки пароля и управления доступом
- для одного пользователя:
- для нескольких пользователей:
▶️ Тестируем результат
В заключение
Обход данного решения безусловно прост если ваш проект VBA не защищен. Хотя и в этом случае "взлом" не может быть исключен. Есть масса инструментов для того чтобы снять/установить пароль с VBA проекта, но это уже другая тема 😉.
Хочешь узнать больше о защите - оставляй комментарий, и мы обязательно поделимся с вами определенными "хитростями" в следующих обзорах.