Защита макросов в Excel от несанкционированного просмотра и модификации.
В хелпе есть намеки на возможность решения данной проблемы, но весьма обтекаемые и без примеров.
Скажу сразу, вариант с так называемой "общей" книгой не годится. Дело в том, что кроме защиты макросов мне надо еще и защитить форму от изменений, оставив возможность вводить в нее только новые строки. Это делается легко только в Excel'XP, но при этом становится невозможным задать пароль на "общую книгу". А тогда нет смысла ее и задавать...
Хотелось бы поиметь решение Subj & cetera, но в Excel'97. Помните игрушку "О'счастливчик!" написанную в Excel? Там куча макросов, а видны только их имена. И общая книга там не используется....
Проблема: Защита макросов в Excel от несанкционированного просмотра и модификации.
В хелпе есть намеки на возможность решения данной проблемы, но весьма обтекаемые и без примеров.
Скажу сразу, вариант с так называемой "общей" книгой не годится. Дело в том, что кроме защиты макросов мне надо еще и защитить форму от изменений, оставив возможность вводить в нее только новые строки. Это делается легко только в Excel'XP, но при этом становится невозможным задать пароль на "общую книгу". А тогда нет смысла ее и задавать...
Хотелось бы поиметь решение Subj & cetera, но в Excel'97. Помните игрушку "О'счастливчик!" написанную в Excel? Там куча макросов, а видны только их имена. И общая книга там не используется....
Не пробовал в редакторе vba TOOLS/VBAPROJECT PROPERTIES/PROTECTION?
Не пробовал в редакторе vba TOOLS/VBAPROJECT PROPERTIES/PROTECTION?
Эта штука работает, но весьма тупо....
Хотелось бы реализовать обозначенные в теме проблемы более гибко, например, с использованием автоматически исполняемых процедур типа AutoOpen, AutoNew, AutoClose. При этом с использованием свойств метода Protect вероятно можно
решить и вопросы тонкой защиты компонентов листа и книги (т.е. разрешить например только вставлять новые строки в определенные листы и удалять их)....
Про указанные выше процедуры я прочитал в одной из тем данной конференции.
Там все обсуждение касалось Word-a. Я правда про Word ничего не могу сказать,
но в Excel-e эти процедуры не желают выполняться автоматически, то бишь при наступлении соответствующего события...
Эта штука работает, но весьма тупо....
Хотелось бы реализовать обозначенные в теме проблемы более гибко, например, с использованием автоматически исполняемых процедур типа AutoOpen, AutoNew, AutoClose. При этом с использованием свойств метода Protect вероятно можно
решить и вопросы тонкой защиты компонентов листа и книги (т.е. разрешить например только вставлять новые строки в определенные листы и удалять их)....
Про указанные выше процедуры я прочитал в одной из тем данной конференции.
Там все обсуждение касалось Word-a. Я правда про Word ничего не могу сказать,
но в Excel-e эти процедуры не желают выполняться автоматически, то бишь при наступлении соответствующего события...
Что-то ты замутил не на шутку...
1. Ты можешь защитить свой проект от просмотра (и соответственно редактирования) - это делается в меню (см. WildAn). От крутых хакеров это конечно не спасет, а от простых пользователей - более чем.
2. Ты можешь защитить структуру книги - то есть внести запрет на добавление/удаление/... листов
Это можно делать как из Экселевского меню, так и из ВБА.
3. Ты можешь защитить содержимое любого конкретного листа - так же "руками" или из ВБА.
Подробности этого - см. хелп к Экселю/ВБА.
Что-ты подразумеваешь под словами "более гибко"? На мой взгляд, вышеуказанные методы обеспечивают вполне достаточную гибкость ("Что-то у меня какая-то гибкость странная появилася... :D").
Вот.
P.S. Правильно писать Auto_Open, Auto_Close.
Подробнее смотри в конце вот этого поста:http://forum.codenet.ru/showthread.php?s=&threadid=11385.
Что-то ты замутил не на шутку...
1. Ты можешь защитить свой проект от просмотра (и соответственно редактирования) - это делается в меню (см. WildAn). От крутых хакеров это конечно не спасет, а от простых пользователей - более чем.
2. Ты можешь защитить структуру книги - то есть внести запрет на добавление/удаление/... листов
Это можно делать как из Экселевского меню, так и из ВБА.
3. Ты можешь защитить содержимое любого конкретного листа - так же "руками" или из ВБА.
Подробности этого - см. хелп к Экселю/ВБА.
Что-ты подразумеваешь под словами "более гибко"? На мой взгляд, вышеуказанные методы обеспечивают вполне достаточную гибкость ("Что-то у меня какая-то гибкость странная появилася... :D").
Вот.
P.S. Правильно писать Auto_Open, Auto_Close.
Подробнее смотри в конце вот этого поста:http://forum.codenet.ru/showthread.php?s=&threadid=11385.
Да, видимо я хочу чего-то невозможного...
К сожалению функции защиты листа/книги в Excel'97
весьма ограниченны (мнение сложилось после просмотра хелпа и меню), поэтому из VBA скорее
всего доступно только то что написано. Какие-либо
недокументированные возможности знают только разработчики Excel, и простым смертным они не по
зубам (не по кариану). Придется на этом успокоиться и пытаться найти продолжение в Excel'2000. Спасибо и на этом!
Кстати, функция Auto_Open заработала как надо,
за что отдельное СПАСИБО!
Что-то ты замутил не на шутку...
1. Ты можешь защитить свой проект от просмотра (и соответственно редактирования) - это делается в меню (см. WildAn). От крутых хакеров это конечно не спасет, а от простых пользователей - более чем.
2. Ты можешь защитить структуру книги - то есть внести запрет на добавление/удаление/... листов
Это можно делать как из Экселевского меню, так и из ВБА.
3. Ты можешь защитить содержимое любого конкретного листа - так же "руками" или из ВБА.
Подробности этого - см. хелп к Экселю/ВБА.
Что-ты подразумеваешь под словами "более гибко"? На мой взгляд, вышеуказанные методы обеспечивают вполне достаточную гибкость ("Что-то у меня какая-то гибкость странная появилася... :D").
Вот.
P.S. Правильно писать Auto_Open, Auto_Close.
Подробнее смотри в конце вот этого поста:http://forum.codenet.ru/showthread.php?s=&threadid=11385.