Страницы: 1
RSS
Установка пароля на открытие книги через VBA
 
Всем привет!
Помогите пожалуйста с кодом.
Суть такова. Имеется файл Excel.
В него нужно добавить код по принципу "самоуничтожения", но  идея в том, чтобы файл, по наступлению определенной даты НЕ самоуничтожался, а чтобы при закрытии файла после определенной даты - устанавливался определенный пароль на открытие файла.

Помогите плз
 
защита  в Excel для того чтобы неопытный пользовательне не смог "заломать" своими действиями работающую систему
защиты от злоумышленника - нет
т.е. формально она есть, а реально - она не защита
Изменено: Ігор Гончаренко - 20.11.2018 16:29:26
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ігор Гончаренко, согласен. Но реализация данной задачи очень важна для меня.
 
Что-то мне подсказывает, что "определённая дата" - это дата увольнения  ;)
 
В модуль книги на событие открытия пишете проверку: если текущая дата >= "Определённой", то запрашиваете пароль.  
 
alexleoix, кстати "подсказка" тоже имеет свое место быть, тут можно было бы все самоуничтожить. Идея в другом, чтобы не оставаться в дурнях при разработке :)
 
Юрий М, я в последнее время, как-то отдалился от макросов (в сторону PQ). Посему вопрос: напомните, пожалуйста, а если не включать при открытии макросы, то как сработает эта проверка? Я, помнится, когда подобный файлик писал - на открытие ещё сокрытие всех листов делал и напоминалку на включение макросов вешал. И то после аварийного завершения файл открывал последний активный лист в том виде, в котором это завершение произошло.
 
Юрий М, а можно немного подробнее, честно говоря даже представления не имею как это сделать. "на событие открытия пишете проверку: если текущая дата >= "Определённой", то запрашиваете пароль"
Спасибо!
 
Цитата
alexleoix написал:
если не включать при открытии макросы, то как сработает эта проверка?
Не сработает, конечно! )) Но на сайте Дмитрия Щербакова есть статья, как вынудить пользователя включить макросы.
 
Цитата
Prsk.N написал:
а можно немного подробнее
Подробнее? Ну ладно: открываем редактор, выбираем соответствующий модуль, находим в нём нужную процедуру и добавляем проверку на дату. По результатам проверки открываем (или нет) диалоговое окно, в которое необходимо ввести пароль. Проверяем правильность пароля: если верно - открываем книгу.
Не сочтите за издевательство, но именно это Вы просили - подробнее.
 
Да, Юрий М, помню эту статью. По ней в своё время тот свой файлик и создавал. Ещё была статья "Каждому пользователю свой диапазон". Полагаю, нашему ТС она тоже очень пригодится.
 
alexleoix, можно пойти другим путем, поставить пароль, и макросом снимать
если макрос отключен, сработает защита.
если пришел час Ч, макрос пароль не снимает.
Ну как то так.
 
Юрий М, ))
Тогда вопросы, что значит ищем нужную процедуру? Добавляем проверку по дате - как её добавить? Как по результатом проверки добавить диалоговое окно? Как вообще добавить проверку?
Прошу прощенья, но в части "редактора VBA" я на Вы
Изменено: Николай - 21.11.2018 08:15:05
 
Prsk.N, зайдите в свой профиль и поменяйте отображаемое имя (логин) и не спорьте с модератором.
После этого продолжим по теме.
 
См. вариант. Код с комментариями. Всё должно быть понятно. Посмотреть его можно в модуле книги. Какие бывают модули, и где их искать - можно почитать здесь
Пароль 123.
 
Юрий М, спасибо! Пробел в звене закрыт. Теперь смогу придумать интересную штуку. Чуть позже выложу свой вариант :)
 
Николай, Бэкапы, теневые копии, а также временная смена системного времени разрушит всю вашу идею, даже без копания в самом excel файле.
Цитата
Ігор Гончаренко написал:
т.е. формально она есть, а реально - она не защита
Изменено: БМВ - 23.11.2018 08:40:26
По вопросам из тем форума, личку не читаю.
 
Миш, предупреждали, но
Цитата
Prsk.N написал:
Ігор Гончаренко , согласен. Но реализация данной задачи очень важна для меня
 
Цитата
Prsk.N написал:
Идея в другом, чтобы не оставаться в дурнях при разработке
Отговаривать не буду, просто потратив силы и оказаться все равно в дураках - еще обиднее
Цитата
Николай написал:
Теперь смогу придумать интересную штуку.
то есть еще и болты не подвезли, а уже нужны ключи, и неважно, что привезут винты и шпильки :-)
По вопросам из тем форума, личку не читаю.
 
Юрий М, Вы своим первым комментарием очень хорошо меня подтолкнули. И все равно в дураках никто не останется. (когда-нибудь напишу сюда о результате). Кстати болты вместе со шпильками лежат уже на полке в доме.
БМВ, Теперь предположим, что существует всего один документ, который, по истечении времени должен не открыться. Бэкапов нет. Откат времени? Ну и пусть, а документ уже под паролем. Отключить макрос? Изменить расширение с .xlsm на что-то другое - документ под паролем. Все, доступ к инфе закрыт. Работать с копиями? Ну, хорошо, а данных нет :)
Ещё раз спасибо всем кто подсказал в каком векторе можно думать. Файл получился рабочим.
Изменено: Николай - 23.11.2018 17:37:40
 
Цитата
Николай написал:
Бэкапов нет.
Где файл лежит? Если на сервере, то с Windows Server 2003 Есть Shutdow Copy , с windows Vista до 2008 это было доступно и на рабочей станции, конечно если включено было и там и там. Более менее нормальные хранилища имеют SnapShot services. Все способы позволяют самому пользователю восстановить файл  из доступных предыдущих версий, даже не привлекая админа. Так что может оказаться что бэкапа нет, а файл есть.
Знать бы причину основную , может быть или отговорили или наоборот посоветовали б чего, а так могу только пожелать е остаться в дураках. Успехов.
По вопросам из тем форума, личку не читаю.
 
Цитата
Николай написал:
Бэкапов нет.
 
БМВ,Нет нет, обычный компьютер, без серевера и т.п., обычная винда 10ка. Ну даже если и восстановится файл, пусть, хотя даже не могу понять, как "сам себя" файл восстановит :)
Спасибо!

alexleoix, конечно есть!

Вот кстати сейчас пришла ещё одна идея. вопрос удален [МОДЕРАТОР]
Есть у кого какие мысли?
 
Цитата
Николай написал:
Есть у кого какие мысли?
:)  Есть здесь: одна тема = один вопрос
 
_Igor_61,очень информативно, спасибо!
 
Цитата
Николай написал:
Ну даже если и восстановится файл, пусть, хотя даже не могу понять, как "сам себя" файл восстановит
У меня на компе сервис выключен и это выглядит так как слева, а вот справа так - как может быть , если теневое копирование включено.
Изменено: БМВ - 24.11.2018 12:52:26
По вопросам из тем форума, личку не читаю.
 
Так не проще ли скомпилировать весь код в DLL? Или создать EXE файл?
Тогда уже сложнее будет и защиту открыть, и код посмотреть.
Лично я пользуюсь решениями от DoneEx. Они хоть и платные, зато не беспокоюсь, что кто-то прочитает мой код, потом еще, если разберется в нем, будет использовать в своих корыстных целях :)
 
Diana Tailor, Вы слишком молоды и не можете помнить,  что в девяностые, самый стойкий пароль вскрывался электромонтажным или электротехнологическим инструментом (Паяльник, Утюг) :-)
По вопросам из тем форума, личку не читаю.
Страницы: 1
Наверх