| |
 42 Кб. |
|
| |
to: AlexSyr
(18.05.2011 в 19:41)
|
| | На всякий случай - как ...:
1. положить файл в любую дирку
2. запустить Ех => закладка Разработчик => Надстройки => нажав Обзор, выбрать файл | |
| |
| |
| |
 12 Кб. |
|
| |
to: AlexSyr
(17.05.2011 в 19:17)
|
| | Вот один из вариантов =>> | |
| |
| |
| |
|
|
| |
to: ДрЮня
(16.05.2011 в 20:54)
|
| | "защита от дурачка" ? - Ну пожалуй дурачок и не знает про shift.
И смотря от чего файл надо защитить, например, можно просто поставить пароль - защитить книгу.
Этот пароль даже прогами долго вскрывать :) | |
| |
| |
| |
|
|
| |
to: ДрЮня
(17.05.2011 в 17:15)
|
| | Должно выскакивать ДВА MsgBox'а - первый с XLAM на конце (это от надстройки), второй с XLSM (это от основной книги).
Правами доступа можно и запретить удаление/редактирование. Это вполне нормальный способ. Кроме того, наверняка в корп. сети уже есть такая папочка (ну не верю, что всем пользователям разрешено править все файлы в корп. сети). Так что это как раз не проблема.
Почитав тут разные умные книжечки, стало очевидно, что от блокировки Shift'ом защищены только надстройки . Отсюда - это единственно возможный путь решения, на мой взгляд.
Если есть желание двигаться именно в этом направлении, то попробую еще покопать - на предмет блокировки такой настройки при открытии других Ех файлов. | |
| |
| |
| |
|
|
| |
to: AlexSyr
(17.05.2011 в 16:08)
|
| | выскакивает MsgBox "..."
но у меня сейчас и так срабатывают макросы, ХЗ почему.
Такое решение ИМХО совсем "не кошерное", когда файл лежит в расшаренной папке в корпоративной сети с различными правами доступа у пользователей.
Вплоть до того, что этот файл настроек будет удален кем-нибудь втечение первых суток. | |
| |
| |
| |
|
|
| |
to: AlexSyr
(17.05.2011 в 16:03)
|
| | не зря я Эксель не очень люблю :) | |
| |
| |
| |
 23 Кб. |
|
| |
to: ДрЮня
(17.05.2011 в 15:09)
|
| | Прикрепил пару файликов. Положить в C:/Proba. Запускать Book1.xlsm.
У меня не удается заблокировать запуск макросов Shift'ом. А как у вас?
+ не забыть снять галку - указывал выше | |
| |
| |
| |
|
|
| |
to: Силblч
(17.05.2011 в 15:00)
|
| |
В том то и дело, что при зажатом Shift'е ни один макрос не отработается, в том числе и Workbook_Open()
| |
| |
| |
| |
|
|
| |
to: ДрЮня
(17.05.2011 в 15:09)
|
| | shift Устал  | |
| |
| |
| |
|
|
| |
to: ДрЮня
(16.05.2011 в 20:54)
|
| | хрень какая-то
Сегодня файл с шифтом не открывается, что случилось за ночь - ХЗ.
Всем спасибо. | |
| |
| |
| |
|
|
| |
to: ДрЮня
(16.05.2011 в 20:54)
|
| | http://www.mrexcel.com/archive/VBA/12067.html | |
| |
| |
| |
|
|
| |
to: ДрЮня
(17.05.2011 в 14:08)
|
| | Не знаю насчет атавизма, но у меня на 2010м Workbook_Open() не отрабатывается  | |
| |
| |
| |
|
|
| |
to: AlexSyr
(17.05.2011 в 13:56)
|
| | у меня и 2010 стоит, потихоньку переползаем на него.
Но как я писал в первом посте, при открывании экселя с зажатым щифтом никакой auto_open не срабатывает. По крайней мере у меня. Может политика безопасности так настроена или еще что-то. Файл просто открывается.
Кстати, вроде как лучше использовать Workbook_Open()
он выполняется раньше, а это auto_open - атавизм для совместимости со старыми версиями (так пишут на формумах) | |
| |
| |
| |
|
|
| |
to: AlexSyr
(17.05.2011 в 13:43)
|
| | Впрочем чушь несу.
Надстройка будет запускаться для ВСЕХ файлов  | |
| |
| |
| |
|
|
| |
to: ДрЮня
(17.05.2011 в 13:05)
|
| | Сама собой надстройка не создается. Надстройку легко сделать самому для экспериментов:
1. открыть новый Ех файл
2. в редакторе VBA добавить модуль
3. создать процедуру:
Sub Auto_Open()
MsgBox "Auto_Open XLAM"
End Sub
|
4. сохранить как "Надстройка Excel (*.xlam) - пусть будет путь, какой предлагает Excel
5. еще раз войти в редактор VBA
6. исправить MsgBox на, к примеру
чтобы отличать из каких мест выполняется Auto_Open
7. далее на закладке "Разработчик" жмакнуть "Надстройки", и отметить галкой ранее сохраненный файл xlam
8. сохранить как "Книга с поддержкой макросов (*.xlsm) - путь - любой
9. закрыть Ех
Теперь можно экспериментировать с разными Shuft'ами, параметрами безопасности, ...
Все же думаю, что без цифрового сертификата все-же не обойтись, т.к. надстройка будет всегда запускаться при снятой галке "Все надстройки приложений должны быть подписаны надежными издателями", что не есть гуд
Кстати самоподписной сертификат несложно самому сделать 
P.S. Все описание на основе MSE2010, к сожалению 2007 нет | |
| |
| |
| |
|
|
| |
to: AlexSyr
(17.05.2011 в 12:31)
|
| | эксель 2007
а разве надстройка сама не создается в теле макроса ?
если есть пример, было бы интересно посмотреть.
Спасибо | |
| |
| |
| |
|
|
| |
to: Дрюня
(17.05.2011 в 10:17)
|
| | Тогда наверное самое простое создать надстройку (xlam), в которую и поместить Auto_Open.
Сейчас проверил - вроде по Shift'у запуск надстройки не отключается.
Кстати, какой Excel? | |
| |
| |
| |
|
|
| |
to: AlexSyr
(17.05.2011 в 04:05)
|
| | Я же не могу подписывать, например, своим сертификатом корпоративные файлы, лежащие в локальной сети компании.
Да и прав скорее всего у меня на такие действия нет.
Должно, как мне кажется, быть более простое решение, как с Аксесом. | |
| |
| |
| |
|
|
| |
to: ДрЮня
(16.05.2011 в 20:54)
|
| | Год назад пробовал подписывать VBA проект цифровым сертификатом - при этом получалось, что отключить Auto_Open было невозможно никакими Shift'ами (возможно потому, что сертификат соответствовал "надежному издателю").
Впрочем, при этом все равно нужно защищать VBA проект паролем, а до 2007 он снимается "на раз", а в случае с сертификатом, нужно еще защищать от перехода в окно VBE по Alt+F11, т.к. сертификат можно просто удалить .
И еще можно почитать http://www.finmodeling.ru/?p=431 (особенно комментарии). | |
| |
| |
| |
|
|
| | Раньше не было необходимости, а сегодня удивился.
Попросили сделать простую вещь "защита от дурачка".
При открывании эксель файла выскакивает UserForm, которая просить ввести пароль.
Пароль храниться прямо в коде и просто сравнивается с введенным пользователем.
Все хорошо работает, если не открывать файл с Shift-ом.
Оказывается при этом блокируется запускт макрососв.
И как с этим боротся ?
Чтобы все таки срабатывал макрос на Workbook_Open() ?
Если есть мысли или опыт, буду рад услышать.
Спасибо! | |
| |
| |