Outlook VBA CreateObject завершается ошибкой во время Application_Startup () - PullRequest
0 голосов
/ 09 ноября 2018

Я написал макрос в Outlook, который открывает файл Excel, а затем запускает другой макрос внутри электронной таблицы Excel. Макрос Excel, в свою очередь, сохраняет некоторые диаграммы в виде файлов PDF и открывает Outlook для отправки их по электронной почте в виде вложений.

Когда я запускаю этот макрос с уже открытым Outlook, он работает нормально. Однако, если я назначаю макрос для выполнения в событии Application_Startup при запуске, я получаю сообщение об ошибке в макросе Excel, в котором говорится, что ActiveX не может создать нужный объект. Он появляется в первой строке этого кода:

Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)

Я сделал Dim обе переменные как объекты. Извините за вопрос новичка, но я не смог найти объяснения после нескольких часов поиска.

Почему это происходит только при запуске макроса во время запуска? Это как-то связано с тем, что Excel или Outlook не были полностью загружены во время попытки запуска макроса?

Ответы [ 2 ]

0 голосов
/ 09 ноября 2018

У меня была похожая проблема не так давно.

Вам лучше начать весь этот процесс с конца Excel, а не открывать Excel из Outlook.

Так что откройте Excel, сохранитедиаграммы в pdf и затем откройте Outlook из вашего макроса Excel, чтобы отправить электронное письмо.Макросы Outlook не задействованы.

0 голосов
/ 09 ноября 2018

Первое, что я бы попробовал, это перерегистрировать серверный компонент, запустив Outlook из командной строки с параметром / RegServer.

Во-вторых, я бы проверил параметры запуска / активации компонента Microsoft Outlook с помощью утилиты dcomcnfg windows. (Щелкните правой кнопкой мыши Пуск, Выполнить> dcomcnfg, разверните Службы компонентов, разверните Мой компьютер, разверните Конфигурация DCOM, найдите Microsoft Outlook в списке, щелкните правой кнопкой мыши> Свойства, вкладка Безопасность.

Вот ссылка на страницу поддержки Microsoft, которая может иметь отношение к вашей проблеме ...

Вы получаете ошибку времени выполнения 429 при автоматизации приложений Office

Если вы можете указать номер ошибки и версию Office и указать, является ли ваша машина частью домена AD, вам может быть проще найти источник вашей проблемы!

...