Страница: 1 |
Страница: 1 |
Вопрос: проблемы с ActiveX
Добавлено: 02.06.06 18:59
Автор вопроса: андрей
пишу стандартный код:
Sub MySub()
Set obj = CreateObject("access.application")
obj.Visible = True
MsgBox "OK"
End Sub
объект не создается, и аксесс не запускается. Вместо этого появляется ошибка на 3 строчку: "Run-time Error 91: object variable or With block variable not seen"
Какие будут идеи почему это может происходить?
Ответы
Всего ответов: 5
Номер ответа: 1
Автор ответа:
Незнайка
Вопросов: 7
Ответов: 188
Профиль | | #1
Добавлено: 02.06.06 20:11
Код у тебя абсолютно правильный.
Access у тебя тоже наверняка установлен.
Тогда вот что СКОРЕЕ ВСЕГО происходит:
Ошибка в строке 3 у тебя из-за того, что в строке 2 переменной obj не удается присвоить ссылку на объект. Ее значение = Nothing (можешь в отладчике проверить). Соответственно и ошибка в 3 строке при применениии Nothing свойства Visible.
У тебя на машине установлен Антивирус Касперского для Windows Workstation. В настройках антивируса установлена опция запрещающая создавать диалектам (твой VBA) объекты ActiveX.
Тупик... Ты в VBA не сможешь создать экземпляр Access.
Лечение:
1. Снять ограничения (галочку) в Касперском. Если ты не администратор на своем компьютере - договаривайся с админами, что ты не вирусописатель и проси снять тебе эту галочку.
2. Пиши на VB - там это ограничение не действует.
Надеюсь угадал, в чем проблема (так как код втой правильный).
Номер ответа: 2
Автор ответа:
андрей
Вопросов: 6
Ответов: 9
Профиль | | #2
Добавлено: 02.06.06 21:44
Незнайка - ты просто супер. У меня слов нет.
Я просто затрахался с этой проблемой, ебучий Касперский (других слов у меня просто нет).
Всегда знал, что там засранцы сидят, ну чтоб настолько!!!!!
Большое тебе спасибо!
А почему данное ограничение не действует в VB???
(я правда в нем все равно не пишу
Номер ответа: 3
Автор ответа:
Незнайка
Вопросов: 7
Ответов: 188
Профиль | | #3
Добавлено: 02.06.06 22:43
Лучше без мата - все таки правлила форума для того и писаны - чтобы их соблюдали.
Но признаюсь я тоже был СИЛЬНО удивлен, на мой взгляд, это довольно странная настройка, поскольку обходится элементарно - пиши на VB - и в путь.
На счет того что не действует в VB - ну это в первую очередь наверное потому, что запрещать исполняемым файлам использовать ActiveX - ну это уж больно круто. Ты тогда вообще никакой программой на своем компьютере пользоваться не сможешь - только антивирусом и всё....
А вот на VBA можно установить запрет. Но тут мне кажется на Касперского не нужно катить - разумные настройки дело рук администратора, отвечающего за безопасность - тут нужен РАЗУМНЫЙ ПОДХОД в НАСТРОЙКАХ БЕЗОПАСНОСТИ - нельзя доходить до абсурда.
Номер ответа: 4
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #4
Добавлено: 02.06.06 23:41
И кстати... тут ещё настройки офиса могут быть, точно так же и в офисе можно запретить открывать активиксы, макросы итп итд...
Номер ответа: 5
Автор ответа:
андрей
Вопросов: 6
Ответов: 9
Профиль | | #5
Добавлено: 03.06.06 01:17
незнайка, большое еще раз спасибо..без политкорректности высказался, ибо ситуация была совсем не политкорректная
hacker, все верно, могут быть и настройки офиса, но я сейчса нахожусь дома и настройки делал под себя, так что тут проблем нет
по поводу каспера: много там знакомых людей работают, так что о их степени вышесказанных способностях имею представление
но дефолтные настройки действительно старнноваты, хотя 90 процентам наверно они полностью подходят