/ Помилка системи / Автоматизація Помилка виклику системи - Outlook і Excel VBA - Excel, VBA, Excel-VBA, Outlook, Outlook-VBA

Помилка автоматизації. Не вдалося здійснити виклик системи - Outlook і Excel VBA - excel, vba, excel-vba, outlook, outlook-vba

Цілком тупиться тут. Отримання помилки під час виконання -2147417856 (80010100) Помилка автоматизації Системний виклик не виконано

У мене є пара правил Outlook, які запускають скрипти.

Перший скрипт Outlook відкриває файл Excel ізапускає макроси у файлі excel і повторює це два рази (як показано нижче). Потім скрипт Outlook закриває Excel і виходить з підпрограми. Помилка виникає під час роботи у другому макросі файлу Excel.

"First File

Set xlApp = CreateObject("Excel.Application")

xlApp.Visible = False

xlApp.Application.DisplayAlerts = False

xlApp.Application.EnableEvents = False

Set xlWork = xlApp.Workbooks.Open(strPath & "File1.xlsm")

xlWork.Application.Run "Macro1_Module.Macro1"

xlWork.Application.Run "Macro2_Module.Macro2"

xlWork.SaveAs FileName:=savepath1, FileFormat:=xlOpenXMLWorkbook

xlWork.Close

Set xlWork = Nothing

xlApp.Application.DisplayAlerts = True

xlApp.Application.EnableEvents = True

xlApp.Quit

Set xlApp = Nothing

"Second File

Set xlApp = CreateObject("Excel.Application")

xlApp.Visible = False

xlApp.Application.DisplayAlerts = False

xlApp.Application.EnableEvents = False

Set xlWork = xlApp.Workbooks.Open(strPath & "File2.xlsm")

xlWork.Application.Run "Macro1_Module.Macro1"

xlWork.Application.Run "Macro2_Module.Macro2"

xlWork.SaveAs FileName:=savepath2, FileFormat:=xlOpenXMLWorkbook

xlWork.Close

Set xlWork = Nothing

xlApp.Application.DisplayAlerts = True

xlApp.Application.EnableEvents = True

xlApp.Quit

Set xlApp = Nothing

Макроси у файлі excel створюють електронну пошту за допомогою даних у Excel і надсилають її за допомогою Outlook (CreateObject ("Outlook.Application")). Для створення електронного листа використовується код нижче.

Set OutApp = CreateObject("Outlook.Application")

OutApp.Session.Logon

Set Outmail = OutApp.CreateItem(0)

On Error Resume Next

With Outmail

.To = ""

.CC = ""

.BCC = ""

.Subject = "Test"

.HTMLBody = "TEST"

.Attachments.Add (ActiveWorkbook.Path & "" & ActiveWorkbook.Name)

End With

Outmail.Display

On Error GoTo 0

Set Outmail = Nothing

Set OutApp = Nothing

Другий скрипт Outlook може колись отриматиспрацьовує під час першого запуску. Я думала, що правила створюють відставання і проходять один за одним. Коли перший скрипт виконується в Outlook, то Excel, він помилки після другого електронної пошти приходить, щоб викликати другий скрипт Outlook (аналогічно першому, але відкриває інший файл). Наведене нижче повідомлення про помилку виникає, коли перший скрипт виконується через макроси Excel (у другому файлі), а під час усунення помилок підсвічується

Set OutApp = CreateObject("Outlook.Application")

Ця помилка не відбувається, коли ці дві електронні листизапущені скрипти Outlook рознесені достатньо, щоб все закінчилося. Так що я знаю, що два скрипти працюють при окремому запуску (і я перевірив це).

Хто-небудь має уявлення про те, що може бути причиною цього? Чи можуть два правила електронної пошти, що запускають скрипти, запускатися одночасно, якщо один з них зараз працює в Excel?

введіть опис зображення тут

Відповіді:

0 для відповіді № 1

Помилка RPC_E_SYS_CALL_FAILED, більшість з якихймовірно означає, що Outlook працює в різних контекстах безпеки. Переконайтеся, що вони однакові, і жодна з програм не працює з підвищеними привілеями як адміністратор.