Страницы: 1
RSS
Макрос защиты скрытого листа
 
Добрый день! Подскажите пожалуйста, как защитить скрытый лист, при его раскрытии, чтобы сторонний пользователь не видел содержимого скрытого листа, пока не введет пароль.
 
gmb,
https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=147762&TITLE_SEO=147762-zashchitit-raznymi-parolyami-raznye-listy-tablitsy-_fayla&MID=1188199#message1188199
 
Вот сегодня в теме
https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=147762&a...
человек спрашивал о подобном и там я выложил свою старую разработку авторизации
Не стреляйте в тапера - он играет как может.
 
Ts.Soft, evgeniygeo, Добрый день! Спасибо за ответы. Вариант с авторизацией конечно рабочий, но дело в том, что есть первый основной лист, который должен быть доступен без всяких паролей, это я создал себе вспомогающие листы, которые я бы не хотел, чтобы раскрывали.
 
Цитата
gmb написал:
это я создал себе вспомогающие листы, которые я бы не хотел, чтобы раскрывали
так скрывайте их через редактор VBA: Как сделать лист очень скрытым
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Дмитрий(The_Prist) Щербаков, Видел этот способ, спасибо, наверное придется так сделать. Но тему создал - думал есть вариант попроще (быстрее), что-то типа макроса защиты книги, где при открытии файла вводишь пароль, думал при раскрытии листа тоже такое существует.
 
Цитата
написал:
думал при раскрытии листа тоже такое существует
нет, но можно вывернуться примерно так. В модуль листа(правая кнопка мыши -Исходный код) вставляете код:
Код
Private Sub Worksheet_Activate()
    Me.Range("AA100").Activate 'выделяем ячейку заведомо ниже данных
    Dim pwd
    pwd = InputBox("Для отображения этого листа необходимо ввести пароль:", "Авторизация", "")
    If pwd <> "123" Then
        MsgBox "Код указан неверно! Лист не может быть отображен", vbCritical, "www.excel-vba.ru"
        Me.Visible = xlSheetHidden
    Else
        'выделяем первую ячейку
        Range("A1").Activate
    End If
End Sub
теперь отобразить лист можно только введя пароль 123. Только надо помнить, что все это работает только если макросы разрешены. Если пользователь просто отключит макросы - все труды бесполезны.
Плюс, это штука будет выскакивать каждый раз при активации листа, даже если он и до этого был видимым. Надо дорабатывать, но времени на это нет сейчас.
Изменено: Дмитрий(The_Prist) Щербаков - 22.02.2022 14:48:28
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Дмитрий(The_Prist) Щербаков,  Спасибо большое! Я считаю это отличный вариант!
Страницы: 1
Наверх