![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Регистрация: 24.03.2009
Сообщений: 3
|
![]()
Ок, прикрепляю
|
![]() |
![]() |
![]() |
#12 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]()
Макрос "Защитить" должен находиться не в модуле конкретного листа, а в общем программном модуле (см. вложение).
Обратите внимание, что код макроса применяется для активного листа при открытии книги. Если же данные действия нужно применить к нескольким (или ко всем) листам - организуйте соответствующий цикл.
Чем шире угол зрения, тем он тупее.
|
![]() |
![]() |
![]() |
#13 |
Регистрация: 24.03.2009
Сообщений: 3
|
![]()
Понятно, теперь получилось , только возник следующий вопрос: можно ли как то скрыть пароль в макросе?
|
![]() |
![]() |
![]() |
#14 | |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]() Цитата:
Чем шире угол зрения, тем он тупее.
|
|
![]() |
![]() |
![]() |
#15 | |
Регистрация: 19.05.2009
Сообщений: 3
|
![]() Цитата:
Поясню - проблема таже - есть excel-евский файл со сложной структурой допусков юзеров к тем или иным ячейкам - работает все это естественно если включена защита листа. Таблица большая и активно задействована группировка - которая не работает с защитой листа. Сделал все как здесь указано - через макрос, однако если его текст не защитить (точнее не скрыть пароль защиты листа который в нем есть) нафиг вся эта защита нужна - если пароль на защиту будеть лежать в открытом виде в макросе? можно ли как нибудь скрыть пароль или запретить просмотр макросов? Сразу скажу что юзеры не хакеры - не надо защиту как для пентагона. Еще как вариант если дать файлу общий доступ и защитить книгу - просмотреть макрос будет нельзя, но и сам он не запускается (по крайней мере не запускается тот код, который представлен в этой теме) выходит ошибка: Run-time error '1004': Application-defined or object-defined error
http://www.u-tube.ru/ - Видеохостинг
|
|
![]() |
![]() |
![]() |
#16 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]()
Самое простое - откройте файл, затем удерживая Alt, последовательно нажмите F11, T, E. в появившемся окне открыть вкладку "Protection" и установить пароль на VBA проект.
Чем шире угол зрения, тем он тупее.
Последний раз редактировалось SAS888; 20.05.2009 в 12:07. |
![]() |
![]() |
![]() |
#17 |
Регистрация: 19.05.2009
Сообщений: 3
|
![]()
сенькс.
Однако возникла еще одна проблема, которую как то не увидел сразу: защищая лист я оставляю галочки для возможности форматирования ячеек - т.е. ДО запуска макроса можно сдвигать-раздвигать строки (в зависимости от содержимого) но стоит сохранить файл, открыть его заного - разрешаем запуск макросов - он запускается - вуаля: все робит, а форматирование теперь нет!!! До запуска макроса на защищенном листе форматирование возможно. т.е. макрос защищая лист дает ему какието обрезанные права. Это как то правиться?
http://www.u-tube.ru/ - Видеохостинг
|
![]() |
![]() |
![]() |
#18 | |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]() Цитата:
В любом случае, когда защиту листа устанавливает макрос, нужно во-первых, прописать все, что Вам требуется, во-вторых, это не сохраняется при закрытии файла. Чтобы решить все Ваши проблемы, нужно: 1. Включите макрорекордер, установите защиту листа вручную, с выбором всех необходимых опций (выделение, копирование, форматирование и т.п.), затем, отключите запись макроса, войдите в VBE и посмотрите полученный код. Для того, чтобы макросы, в отличии от пользователей, могли вносить изменения на защищенном листе не снимая и вновь устанавливая каждый раз защиту, добавьте опцию UserInterfaceOnly:=True. Этот код и используйте в макросе, устанавливающем защиту. 2. Многие опции защиты, установленные макросом, не сохраняются при сохранении файла. Поэтому, по событию открытия книги нужно снять сохраненную защиту и установить требуемую. Именно так и сделано в моем примере выше. При открытии файла запускаем макрос "Защитить", который делает все, что нужно. Код:
Чем шире угол зрения, тем он тупее.
|
|
![]() |
![]() |
![]() |
#19 |
Регистрация: 19.05.2009
Сообщений: 3
|
![]()
Спасибо!
Теперь разобрался, все заработало! А кто нибудь знает, почему макросы не работают (конкретно - который в этой теме) если книгу защитить и дать ей общий доступ? - вылазит ошибка о которой я писал выше?
http://www.u-tube.ru/ - Видеохостинг
|
![]() |
![]() |
![]() |
#20 | |
Новичок
Джуниор
Регистрация: 30.10.2009
Сообщений: 1
|
![]() Цитата:
Последний раз редактировалось amilaxvari; 31.10.2009 в 01:36. |
|
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как заставить работать макрос при защите листа | qwertyuzer | Microsoft Office Excel | 4 | 11.02.2009 15:20 |
Формирование листа при множественом выборе файлов | Руслантус | Общие вопросы C/C++ | 2 | 09.08.2008 23:16 |
Добрый день и снова вопрос по защите) | Wasily | Microsoft Office Excel | 17 | 18.06.2008 10:26 |
При закрытии листа, стираются данные | Romuald | Microsoft Office Excel | 2 | 20.12.2007 13:24 |
Удалить строку листа Excel при выполнении условия | Gennady | Microsoft Office Excel | 14 | 18.12.2007 13:54 |