Непонятная ошибка с MAPI.Sessoin

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
mon
Сообщения: 14
Зарегистрирован: 04 июн 2004, 12:54

Надеюсь на этом форуме найдутся люди которые пользовались следующей конструкцией:

Код: Выделить всё

Set obj = CreateObject("MAPI.Session")

Проблема в том, что при вызове данной функции выдается ошибка, следующего содержания:

Код: Выделить всё

"Невозможно создание объекта контейнером ActiveX: 'MAPI.Session' "

Но это только на одной машине, на остальных все нормально!
Подскажите плиз, кто знает, с чем этот глюк может быть связан?
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

Глюк связан с регистрацией ActiveX-объекта на данной машине.

Найдите в реестре параметр HKCR\MAPI.Session\CLSID - это будет что-то вида {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}

Затем ищите HKCR\CLSID\{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}\InpocServer - это будет название DLL в которую завернут этот ActiveX.

На нормальных машинах с этими и соседними параметрами ввсе нормально, а на прооблемной - либо эти параметры кривые, либо DLL отсутствует или перемещена.

Восстановить все эти параметры в реестре можно по команде

regsvr32.exe Someibrary.DLL

PS
Если на проблемной маашине не создаются и другие AX- и COM-объекты, то проблема немного выше - в библиотеках, отвечающих за OLE, COM, AX. Прийдется лечить операционку.
mon
Сообщения: 14
Зарегистрирован: 04 июн 2004, 12:54

Спасибо за помощь, но проблему я решил полной переустановкой Office!
Ответить