Autoit ObjGet Outlook.Application завершается с неизвестным именем (0x800020006) при запуске из планировщика задач - PullRequest
0 голосов
/ 14 октября 2018

У меня запущен Outlook 2016.Следующий скрипт запускается без проблем из SciTE или из командной строки.Тем не менее сценарий завершается ошибкой при запуске из планировщика задач.Почему происходит сбой при запуске из планировщика задач?Что я могу сделать, чтобы это исправить?

Скрипт:

#include <MsgBoxConstants.au3>

$error   = ObjEvent("AutoIt.Error", "ErrFunc")
$outlook = ObjGet("", "Outlook.Application")

If @error Then
   MsgBox($MB_SYSTEMMODAL, "", "Delete Pipeline Emails" & @CRLF & "Error getting an active Outlook object. Error code: " & Hex(@error, 8))
   exit 1
EndIf

Примечание: ErrFunc удален для краткости.

Ошибка:

    err.number is:          0x80020006
    err.windescription:     Unknown name.
    err.description is:
    err.source is:
    err.helpfile is:
    err.helpcontext is:
    err.lastdllerror is:    0
    err.scriptline is:      -1
    err.retcode is:         0x00000000

1 Ответ

0 голосов
/ 15 октября 2018

Хитрость заключается в том, чтобы закрыть процесс Outlook и затем снова попробовать ObjCreate ().Это создаст процесс, но без окна.Чтобы показать окно, самое простое решение - запустить outlook.exe.

$outlook = ObjGet("", "Outlook.Application")

if @error then
   $outlook = ObjCreate("Outlook.Application")

   if @error then
      ProcessClose("outlook.exe")

      $outlook = ObjCreate("Outlook.Application")
   endif
endif
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...