Страницы: 1
RSS
Запрет на открытие книги без макросов
 
Вопрос собственно в теме.  
Если прописать в Workbook_Open условие на открытие книги, и запустить с включенными макросами, то тут все понятно.  
 
А если у юзера макросы отключены, куда тогда вставлять проверку например по дате, мол если текДата больше чем проверочная, тогда не открывать. Макросы же не работают!?  
Получается что при отключении макросов все проверки слетают и юзер спокойно рассматривает книгу, хотя видеть ее уже и не должен?
Редко но метко ...
 
Тогда нужно делать так, чтобы юзер при отключенных макросах рассматривал пустой лист с дулей, т.е. с надписью ВКЛЮЧИ МАКРОСЫ, ДУРЕНЬ!!!  
И ни одного другого листа в книге. Видимого или просто скрытого.
 
>>А если у юзера макросы отключены, куда тогда вставлять  
 
: )  
 
Не куда. Как вариант: создать лист в книге, на кот. большими буквами написать. "МАКРОСЫ ОТКЛЮЧЕНЫ, ДАЛЬНЕЙШАЯ РАБОТА НЕ ВОЗМОЖНА". И скрывать его каждый раз при открытии, а при закрытии снова делать видимым.
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
Hugo, а я ведь Ваше сообщение не видел ^_^  
 
 
=37878=
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
nerv, верю :)  
 
Вернее в ключе задачи так - если макросы отключены или дата проверку не прошла - тогда дуля ( ну или две разные дули), а если включены и дата валидна - тогда молча работаем.
 
я этот вариант рассматривал, но подлый юзер может поступить так:  
Открыть с макросами (пока не наступила проверочная дата), все нужные листы будут видны. Сохранить в таком виде в формат .xlsx, и дальше опять чихал он на макросы !!
Редко но метко ...
 
Тогда нужно предусмотреть, чтобы функционал был завязан на макросах.  
Например суперсложная формула прописывается макросом, считается и тут же заменяется на значение.
 
И кстати перед сохранением тоже нужно макросом скрывать листы в обязательном порядке - тогда будет xlsx с одним видимым листом с дулей.  
В общем, нужно продумать все варианты - и всё равно это ненадёжно :(
 
Еще вариант - подписать документ, сделать Ваши макросы разрешенными по умолчанию, т.е., чтобы окошка открыть с макросами, без них не было вообще.
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
>>Сохранить в таком виде в формат .xlsx, и дальше опять чихал он на макросы !!  
 
Убейте SaveAs
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
{quote}{login=Hugo}{date=22.08.2011 05:28}{thema=}{post} - и всё равно это ненадёжно :({/post}{/quote}  
 
и я о том же,  
Я также как вы и предлагали, прошел все варианты, по скрытию и отображению нужных листов при открытии/закрытии книги, и понял что если макросы отключены, все эти танцы ни на что не влияют. Насчет повесить функционал на макрос, эта идея мне нравится, но например я хочу спрятать запрос заполняющий сводную от юзера, ведь при включенных макросах и при нормальной работе книги он может этот запрос скопировать гад, и перенести его в другую книгу, а эта пусть и не открывается больше. Вот над чем ломаю голову.
Редко но метко ...
 
Антош, абсолютной защиты не существует. Все, что создано, может быть сломано. Вопрос, сколько времени и средств нужно потратить на взлом. А запрос тоже можно реализовать программно. И нюанс - если юзер способен поломать такую защиту, он наверняка способен сам написать программу, подобную твоей(ну, с некоторыми оговорками).
Я сам - дурнее всякого примера! ...
 
Спасибо Сережа. Тогда сделаю несколько уровней защиты, с подковырками, и посмотрим кто кого ))
Редко но метко ...
 
Загляни еще сюда:  
http://www.programmersforum.ru/showthread.php?t=163614  
возможно тебе будет интересно.  
Круто, симметрия по двум осям:  
-=68389=-
Я сам - дурнее всякого примера! ...
 
Собственно, я не понимаю чем Вам не решение - подписать документ.  
В редакторе VBE: Tools -> Digital Signature. Соответственно, предварительно ее нужно будет создать. И при открытии книги EXСEL сообщений типа: "Этот документ содержит макросы. Отключить / Не отключать" выводиться не будет.
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
{quote}{login=nerv}{date=22.08.2011 07:01}{thema=}{post}Собственно, я не понимаю чем Вам не решение - подписать документ.  
В редакторе VBE: Tools -> Digital Signature. Соответственно, предварительно ее нужно будет создать.{/post}{/quote}  
А можно с этого места поподробнее???
 
Пожалуйста. Я специально для себя инфу как-то на этот счет в txt сохранял. Вот она  
 
C:\Program Files\Microsoft Office\OFFICE11\SELFCERT.EXE  
Если такого файла нет, смотреть в установленных компонентах Microsoft Office.  
 
Запускаете SELFCERT.EXE, создаете цифровой сертификат. Потом открываете интересующую Вас книгу, Параметры -> Безопасноть -> Цифровые подписи. Выбираете созданный Вами сертификат.  
 
Подписать макросы можно следующим образом:  
 
1. Открываем редактор VBA  
2. Tools->Digital Signature  
3. Выбираем требуемый сертификат  
4. Сохраняем проект  
5. Сохраняем книгу  
 
Затем, закрываем ее. Снова открываем и ставим галку "доверять макросам этого издателя". Все : )
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
Судя по описанию это, мягко говоря, не совсем то-:)
 
>>А если у юзера макросы отключены, куда тогда вставлять проверку например по дате  
 
Т.о. макросы будут включены ВСЕГДА. ЧТо нето?
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
Не то это то, что, судя по описанию, на моем компе по твоему личному сертификату макросы не включатся.  
И я сильно сомневаюсь, что Антон всех пустит за свой.  
Или предлагаешь обратиться в платный центр сертификации?
 
Да, я тоже понял это так - эта штука для того, чтоб на своих макросах небыло запроса (мы им верим), а на всех других был.  
Т.е. для распространяемой программы SELFCERT.EXE не подходит.
Страницы: 1
Читают тему
Наверх