429 activex win7 CreateObject Office2010 Excel

Очень распространенная ошибка, советовать что-то конкретное –  тяжело, в моем случае не помогло ничего из  найденного в Интернете.

Но подсказать в каком направлении искать я пожалуй опишу.

При возникновении ошибки, есть кнопочка “Debug”, она приведет Вас  в редактор Microsof Visual Besic for Application, и покажет на какой из функции происходит остановка кода, он будет выделен желтым маркером.

В моем случае это был: CreateObject(“Someobj.VarParams”)  – Someobj указан для примера,там может быть  любая библиотека.

Но проблема именно в том,что VBA не нашел не может создать объект из-за того,что не может найти Someobj класс, он как правило является частью какой-то из библиотек “DLL” которые должны присутствовать на ПК и быть зарегистрированные через “regsvr32“.Вам нужно найти эту билблиотеку и скопировать ее в “c:\windows\system32 ” и зарегистрировать ее в ОС при помощи команды “regsvr32  *.dll” где  * – это имя вашей библиотеки.

А теперь внимание если у вас Win7 да еще и 64 битная  – Вам обязательно нужно скопировать эту библиотеку, кстати ошибка может быть из-за того,что необходимая библиотека находится в  “c:\windows\system32″ вместоc:\windows\sysWoW64\”,  в папку c:\windows\sysWoW64\” и провести регистрацию из этой директории утилитой  “regsvr32“, это будет выглядеть так  “c:\windows\sysWoW64\regsvr32  *.dll”    *.dll –  это Ваша библиотека которая расположена в кронеc:\windows\sysWoW64\” . Почему именно так? – Потому что, у Вас Windows 7 6bit  и для библиотек 32-битных существует отдельная папка  “c:\windows\sysWoW64\”   с отдельной утилитой “regsvr32″  которая предназначена для регистрации 32-битных DLL.

Для информации 64-битные библиотеки  Windows 7 располагаются в c:\windows\system32, такой вот каламбур.

 

 

Leave a Reply

Your email address will not be published.