Безопасность макросов

Программирование на Visual Basic for Applications
Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Безопасность макросов

Сообщение Twister » 06.09.2006 (Ср) 12:11

Долго думал как обозвать тему, но ничего лучшего не придумал. Вообще, я бы этот свой вопрос отнес к разряду "Как писАть в файл не открывая его?". Но что поделать - появилась необходимость, вот и задаю такой идиотский вопрос.
Вообщем, вопрос такой: можно ли определить включены макросы или нет прямо из открываемого документа? Первое что приходит на ум это отрицательный ответ с попутной подколкой в сторону автора, но все же, может есть чудеса на свете... :)
А я все практикую лечение травами...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 06.09.2006 (Ср) 12:13

Определить чем? Макросом, очевидно, нельзя.
Изображение

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 06.09.2006 (Ср) 12:16

Мне без разницы чем. Формулой какой-нибудь. К примеру, если макросы отключены, в определенной ячейке появилась надпись: "Облом!".
А я все практикую лечение травами...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 06.09.2006 (Ср) 12:35

Напиши в ячейке "Облом", а в AutoOpen-макросе стирай ее значение.
Lasciate ogni speranza, voi ch'entrate.

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 06.09.2006 (Ср) 12:57

Гуд alibek, тоже вариант. Жаль что msgbox вывести не получится... :cry:
А я все практикую лечение травами...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 06.09.2006 (Ср) 13:00

Зато ячейку с надписью "Облом" можно сделать жирной, красной и по центру экрана ;-)
Изображение

KL
Microsoft MVP
 
Сообщения: 483
Зарегистрирован: 30.10.2005 (Вс) 0:31
Откуда: Madrid

Сообщение KL » 06.09.2006 (Ср) 15:26

Вариант 1

Использовать DSO, где есть свойство HasMacros:

http://www.cpearson.com/excel/docprop.htm (раздел "Document Properties Of Closed Files")

Вариант 2

Код: Выделить всё
Application.EnableEvents = False
Workbooks.Open "c:\Book1.xls"
Application.EnableEvents = True
Привет,
KL

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 06.09.2006 (Ср) 15:37

lapink2000, похоже, не понял вопрос.
Рекомендую ему обратить повышенное внимание на фразу "прямо из открываемого документа".
Изображение

KL
Microsoft MVP
 
Сообщения: 483
Зарегистрирован: 30.10.2005 (Вс) 0:31
Откуда: Madrid

Сообщение KL » 06.09.2006 (Ср) 16:02

tyomitch писал(а):lapink2000, похоже, не понял вопрос.
Рекомендую ему обратить повышенное внимание на фразу "прямо из открываемого документа".


Пожалуй что ты прав - потихоньку забываю русский на чужбине :lol:
Привет,
KL

KL
Microsoft MVP
 
Сообщения: 483
Зарегистрирован: 30.10.2005 (Вс) 0:31
Откуда: Madrid

Сообщение KL » 06.09.2006 (Ср) 16:28

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

http://www.danielklann.com/excel/force_ ... nabled.htm
Привет,
KL

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 06.09.2006 (Ср) 16:30

По смыслу то же самое, что предложил alibek.
Быть... или не быть. Вот. В чём вопрос?

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 06.09.2006 (Ср) 16:31

lapink2000 писал(а):Если задача в том, чтобы не позволить простому юзеру использовать файл не включив макросы, то тогда так (хотя конечно все это сов. ненадежно):

http://www.danielklann.com/excel/force_ ... nabled.htm

Там та же самая идея, что и в этом топике.
Изображение

KL
Microsoft MVP
 
Сообщения: 483
Зарегистрирован: 30.10.2005 (Вс) 0:31
Откуда: Madrid

Сообщение KL » 06.09.2006 (Ср) 16:41

И хотя идея таже, между моей ссылкой и ответом alibeka неизмеримо большая разница, чем между последними постами uhm и tyomitch - в первой паре хоть есть развитие идеи :wink:
Привет,
KL

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 06.09.2006 (Ср) 16:59

Очевидно, что наши посты, идущие с разницей в минуту, сделаны полностью независимо друг от друга.
Изображение


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 6

    TopList