从任务计划程序运行时,Autoit ObjGet Outlook.Application失败,并显示未知名称(0x800020006)

时间:2018-10-14 15:22:30

标签: outlook com autoit

我正在运行Outlook 2016。以下脚本可以从SciTE或命令行正常运行。但是,脚本从Task Scheduler运行时失败。为什么从Task Scheduler运行时失败?我该怎么做才能解决此问题?

脚本:

#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 :(得分:0)

技巧是关闭Outlook进程,然后再次尝试ObjCreate()。这将创建一个进程,但没有窗口。要显示一个窗口,最简单的解决方案是运行Outlook.exe。

nginx:1.15.4-alpine