Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Office Новый топик    Ответить
 Неотключаемый макрос  [new]
Caspian
Member

Откуда:
Сообщений: 45
Вот здесь: http://erlandsendata.no/downloads/statbar.zip лежит офигенски изящный и простой прогресс-бар для Excel. Совершенно случайно при попытке открыть файл нажал "отключить макросы" и excel мне написал, что данный макрос не может быть отключен. Как это самому повторить (в смысле, как научиться делать макросы неотключаемыми)? И почему такое происходит?
29 авг 08, 16:41    [6126394]     Ответить | Цитировать Сообщить модератору
 Re: Неотключаемый макрос  [new]
KL (XL)
Member

Откуда: Madrid
Сообщений: 2084
Сейчас экселя под рукой нет, но насколько мне известно:
1) Неотключаемых макросов VBA не бывает с незапамятных времен
2) до версии 2003 (или 2002) неотключаемыми были макрофункуии XLM4.0. Т.ч. Если открыть файл в ранней версии, то действ. Макрос неотключаем, а в новых уже нет.

KL
[MVP - Microsoft Excel]
29 авг 08, 17:25    [6126706]     Ответить | Цитировать Сообщить модератору
 Re: Неотключаемый макрос  [new]
Caspian
Member

Откуда:
Сообщений: 45
KL (XL)
Сейчас экселя под рукой нет, но насколько мне известно:
1) Неотключаемых макросов VBA не бывает с незапамятных времен
2) до версии 2003 (или 2002) неотключаемыми были макрофункуии XLM4.0. Т.ч. Если открыть файл в ранней версии, то действ. Макрос неотключаем, а в новых уже нет.

Вот текст предупреждения: "Данная книга содержит макрос, который нельзя отключить (Microsoft Excel версии 4.0). Эти макросы также могут содержать вирусы. Если вы уверены, что файл попал к вам из безопасного источника, нажмите кнопку "Да". Открыть книгу?" У меня Excel 2003, но макрос я отключить не могу. Сами макросы обыкновенные - две программы в одном модуле. Плз, скачайте файл и посмотрите, как это объясняется? Весит всего 4 кб.
1 сен 08, 20:52    [6134319]     Ответить | Цитировать Сообщить модератору
 Re: Неотключаемый макрос  [new]
kyber
Member

Откуда:
Сообщений: 176
А если такой вариант - полностью защищенная паролем книга, на которой есть один видимый лист с просьбой включить макросы. При загрузке книги запускается макрос, который ее разблокирует.

Если макросы выключены, то книгой просто нельзя пользоваться. Если включены - то все ок... Только нужно перехватывать и обрабатывать сохранение. Когда-то на форуме проскакивал такой вариант.
1 сен 08, 20:52    [6134320]     Ответить | Цитировать Сообщить модератору
 Re: Неотключаемый макрос  [new]
KL (XL)
Member

Откуда: Madrid
Сообщений: 2084
Caspian
Вот текст предупреждения: "Данная книга содержит макрос, который нельзя отключить (Microsoft Excel версии 4.0). Эти макросы также могут содержать вирусы. Если вы уверены, что файл попал к вам из безопасного источника, нажмите кнопку "Да". Открыть книгу?" У меня Excel 2003, но макрос я отключить не могу. Сами макросы обыкновенные - две программы в одном модуле. Плз, скачайте файл и посмотрите, как это объясняется? Весит всего 4 кб.

Ответ отмечен красным.
KL (XL)
Сейчас экселя под рукой нет, но насколько мне известно:
1) Неотключаемых макросов VBA не бывает с незапамятных времен
2) до версии 2003 (или 2002) неотключаемыми были макрофункции XLM4.0. Т.ч. Если открыть файл в ранней версии, то действ. Макрос неотключаем, а в новых уже нет.


1) Вероятно у тебя установлены не все обновления - у меня такого сообщения нет.
2) Совершенно очевидно, что файл создавался в 1996 г., когда и XL97 (т.е. как мы его знаем сейчас) был только в проекте. В XL95 еще писали на XLM4.0. Потом в 2000 г. Оле кое-что адаптировал под XL97, а что-то оставил неизменным
3) Это "что-то" обновленный XL2003 и XL2007 конвертируют автоматически. Чтобы разобраться что же это конкретно, надо открыть файл в более ранней версии XL, но все равно пользы - чуть.
1 сен 08, 22:13    [6134464]     Ответить | Цитировать Сообщить модератору
 Re: Неотключаемый макрос  [new]
_slan_
Member

Откуда:
Сообщений: 497
kyber
А если такой вариант - полностью защищенная паролем книга, на которой есть один видимый лист с просьбой включить макросы. При загрузке книги запускается макрос, который ее разблокирует.

Если макросы выключены, то книгой просто нельзя пользоваться. Если включены - то все ок... Только нужно перехватывать и обрабатывать сохранение. Когда-то на форуме проскакивал такой вариант.


каким образом разблокировать? вводом пароля? кто мешает помотреть пароль в коде и разблокировать самому без включения макросов?

кстате, я делал систему с дешифратором - т.е. изначально тексты модулей зашифрованы и дешифруются только в ходе работы макроса, но это, естественно, замедляет работу, да и все равно не исключает получение исходников, а только усложняет этот процесс. Но тогда уж лучше написать dll..
3 сен 08, 10:26    [6140397]     Ответить | Цитировать Сообщить модератору
 Re: Неотключаемый макрос  [new]
Deggasad
Member

Откуда: Воронеж
Сообщений: 3490
_slan_
kyber
А если такой вариант - полностью защищенная паролем книга, на которой есть один видимый лист с просьбой включить макросы. При загрузке книги запускается макрос, который ее разблокирует.

Если макросы выключены, то книгой просто нельзя пользоваться. Если включены - то все ок... Только нужно перехватывать и обрабатывать сохранение. Когда-то на форуме проскакивал такой вариант.


каким образом разблокировать? вводом пароля? кто мешает помотреть пароль в коде и разблокировать самому без включения макросов?

кстате, я делал систему с дешифратором - т.е. изначально тексты модулей зашифрованы и дешифруются только в ходе работы макроса, но это, естественно, замедляет работу, да и все равно не исключает получение исходников, а только усложняет этот процесс. Но тогда уж лучше написать dll..


Проект тоже можно запоролить и тогда пароль не посмотрять. А листы не поролить а просто спрятать
sheets(1).Visible = xlSheetVeryHidden
а в макросе отображать нужные.
Для 99% моих знакомых это будет достаточной причиной чтобы включать макросы. Если такова цель.
Если же цель что-то серьезно защитить от специалистов, желающих обязательно не запустить макрос в книге, то тут Эксель не та программа наверное.
3 сен 08, 11:20    [6140806]     Ответить | Цитировать Сообщить модератору
 Re: Неотключаемый макрос  [new]
_slan_
Member

Откуда:
Сообщений: 497
deggasad
Если же цель что-то серьезно защитить от специалистов, желающих обязательно не запустить макрос в книге, то тут Эксель не та программа наверное.


и я о том же..

правда снять пароль с проекта может уже кто угодно..
3 сен 08, 12:58    [6141618]     Ответить | Цитировать Сообщить модератору
 Re: Неотключаемый макрос  [new]
Deggasad
Member

Откуда: Воронеж
Сообщений: 3490
_slan_
deggasad
Если же цель что-то серьезно защитить от специалистов, желающих обязательно не запустить макрос в книге, то тут Эксель не та программа наверное.


и я о том же..

правда снять пароль с проекта может уже кто угодно..


Ну это если:
- у тебя есть желание с этим возиться впринципе
- ты вообще понимаешь, что такое проект и что он может быть запаролен
- у тебя есть доступ в интернет на рабочем месте
- ты имеешь право скачивать программы (и лекарство)
- ты имеешь право их устанавливать
- (последние 3 заменяются если унести файл домой и там с ним возиться, но это зависит от значивамости первого)
- после того как ты снял защиту нужно уметь прочитать макрос (где там чего), а уж xlSheetVeryHidden - ещё поискать придётся где убрать

Повторюсь: у 99% моих знакомых все эти условия не совпадают (а это люди занимающиеся финансами и экономикой в немаленьких компаниях). У оставшегося 1% хватает ума чтобы понимать что раз макрос попросили включать - значит это зачем-то нужно и даже если сломают то только чтобы посмотреть.
3 сен 08, 13:09    [6141688]     Ответить | Цитировать Сообщить модератору
 Re: Неотключаемый макрос  [new]
Caspian
Member

Откуда:
Сообщений: 45
На самом деле я не столько хотел узнать, как максимально надёжно гарантировать запуск макроса (и так понятно, что 100% гарантии не будет), сколько понять, как устроен данный конкретный файл, почему он так себя ведёт. Я не знаю, что такое макрофункции XLM4.0, макросы в нём самые обыкновенные. Подвернулась возможность открыть файл в 97 экселе - такая же фигня. Если кто укажет мне на то место в файле, из-за которого появляется данное сообщение, буду благодарен.
3 сен 08, 16:08    [6142883]     Ответить | Цитировать Сообщить модератору
 Re: Неотключаемый макрос  [new]
KL (XL)
Member

Откуда: Madrid
Сообщений: 2084
Caspian
На самом деле я не столько хотел узнать, как максимально надёжно гарантировать запуск макроса (и так понятно, что 100% гарантии не будет), сколько понять, как устроен данный конкретный файл, почему он так себя ведёт. Я не знаю, что такое макрофункции XLM4.0, макросы в нём самые обыкновенные. Подвернулась возможность открыть файл в 97 экселе - такая же фигня. Если кто укажет мне на то место в файле, из-за которого появляется данное сообщение, буду благодарен.

1) Попробуй поискать скрытые листы типа: DialogSheets (напр. Dialog1) или MacroSheets (напр. Macro1).
2) Если хочешь посмотри приложения, где я тебе сделал пару примеров более или менее видимых XLM4.0, дающих то же сообщение.

К сообщению приложен файл (Primer.zip - 14Kb) cкачать
3 сен 08, 17:41    [6143567]     Ответить | Цитировать Сообщить модератору
 Re: Неотключаемый макрос  [new]
KL (XL)
Member

Откуда: Madrid
Сообщений: 2084
Как я уже говорил, файл опубликованный Оле Эрландсеном был создан в Excel95.

Надо, правда, добавить к сказанному мной раннее то, что в данной версии уже существовала возможность написания макросов на VBA, но как интерфейс программирования использовался не редактор VBA (VBE) как сейчас, а специальный вид листа-модуля.

Я так понимаю, что лист-модуль был позаимствован у Excel4, где использовались макро-листы для написания макросов (XLM=Excel Macros).

Повидимому, последующие версии так и воспринимают лист-модуль VBA как макро-лист XLM4.0 с точки зоения безопасности (оттого и выскакивает сообщение о неотключаемости, хотя у меня серьезные сомнения в том, что в этом случае угроза реальна), а с другой стороны автоматически конвертируют лист-модуль VBA в привычный нашему глазу модуль проекта VBA.

При этом, макро-лист XLM4.0 так и остался листом по сию пору (см. один из моих примеров в этой теме) и до совсем недавнего времени макросы написанные в XLM4.0 действительно были неотключаемы, что было устранено одним из относительно недавних обновлений к Office2003 (год-два назад).

Ниже, привожу вид обсуждаемого файла так как он выглядел в оригинале.


KL
[MVP - Microsoft Excel]

К сообщению приложен файл. Размер - 0Kb
4 сен 08, 01:00    [6144474]     Ответить | Цитировать Сообщить модератору
 Re: Неотключаемый макрос  [new]
Deggasad
Member

Откуда: Воронеж
Сообщений: 3490
KL (XL)
При этом, макро-лист XLM4.0 так и остался листом по сию пору (см. один из моих примеров в этой теме) и до совсем недавнего времени макросы написанные в XLM4.0 действительно были неотключаемы, что было устранено одним из относительно недавних обновлений к Office2003 (год-два назад).

А что значит неотключаемые, т.е. запустил файл и в любом случа выполнится макрос? без вариантов?
4 сен 08, 09:41    [6144879]     Ответить | Цитировать Сообщить модератору
 Re: Неотключаемый макрос  [new]
KL (XL)
Member

Откуда: Madrid
Сообщений: 2084
Deggasad
KL (XL)
При этом, макро-лист XLM4.0 так и остался листом по сию пору (см. один из моих примеров в этой теме) и до совсем недавнего времени макросы написанные в XLM4.0 действительно были неотключаемы, что было устранено одним из относительно недавних обновлений к Office2003 (год-два назад).

А что значит неотключаемые, т.е. запустил файл и в любом случа выполнится макрос? без вариантов?
Нет, там открывается диалоговое окно а в нем две кнопки: либо открываешь и не можешь отключить макросы, либо отказываешься от открытия.
4 сен 08, 10:44    [6145179]     Ответить | Цитировать Сообщить модератору
 Re: Неотключаемый макрос  [new]
Asvad
Member

Откуда:
Сообщений: 69
там же ясно указано...

К сообщению приложен файл. Размер - 0Kb
4 сен 08, 11:34    [6145638]     Ответить | Цитировать Сообщить модератору
 Re: Неотключаемый макрос  [new]
KL (XL)
Member

Откуда: Madrid
Сообщений: 2084
Asvad
там же ясно указано...

1) Выше же ясно написано, что не у всех появляется одно и то же сообщение
2) Вопрос не в том переходят ли листы-модули в модули проекта VBA, в том почему выскакивает предупреждение о неотключаемых макросах.
4 сен 08, 12:57    [6146369]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Неотключаемый макрос  [new]
Владимир147
Member

Откуда:
Сообщений: 1
Здравствуйте. Написал суда, потому как у меня то же проблема с макросами Exel 4.0

Проблема такая создал новое имя (Вставка -> Имя -> Присвоить) [exel 2003].
При создании нового имени exel работал нормально пару дней.
Потом после двух дней при открытии файла стал выдавать:
автор
Эта книга содержит макросы Microsoft Excel 4.0. Эти макросы могут создавать вирусы или другой вредоносный код. Эти макросы будут отключены
Все началось после копирования листа книги.
При удалении имени предупреждение не выдавалось. При повторном создании имени предупреждение стало выскакивать опять.
Разве эти имена считаются макросами? И почему первые два дня exel ни как не реагировал на них? (Уровни безопасности я не переключал).

P.S. Ниже описал какое мия и формулу вводил.
Вставка -> Имя -> Присвоить
Добавляю:
- Имя: ОГЛ
- Формула: =ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1)&Т(ТДАТА())
17 сен 17, 13:25    [20801388]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Office Ответить