问题: 我制作了一个通过 ComObject 发送邮件的脚本,当我以用户身份使用它时,它就像一个魅力,但如果我使用 Task Scheduler 执行它,则不会。
我做了什么?我已将 ComObjActive 更改为 ComObjCreate。
代码:
正文正确并包含 HTML 文本。
Myself = %AUMailAdress%
Recipient := Myself
Subject := Oi
Body := Ci
Recipient5 = [email protected]
DocumentLocation = %SourceDir%\Tooloutput\AutoProjectsLog\Faults
olMailItem := 0
MailItem := ComObjCreate("Outlook.Application").CreateItem(olMailItem)
olFormatHTML := 2
MailItem.BodyFormat := olFormatHTML
MailItem.Subject := Subject
MailItem.HTMLBody := Body
Recipient := MailItem.Recipients.Add(Recipient)
Recipient.Type := 1
Loop, %DocumentLocation%\*.*
MailItem.Attachments.Add(A_LoopFileLongPath)
MailItem.cc := Recipient5
MailItem.Send
ExitApp
return
问题: 当它尝试制作 ComObject 时出现以下错误。
错误:0x80080005 - 服务器执行失败
行:#
---> 674:MailItem:= ComObjCreate(“Outlook.Application”)。创建项目(olMailItem)
继续运行脚本?
我为此苦苦挣扎了大约 3 个小时,尝试了很多东西,包括这种方法:
最后,我只是以管理员身份运行 Outlook,一切都开始正常工作,使用以下代码:
outlookApp := ComObjCreate("Outlook.Application")
MailItem := outlookApp.CreateItem(0)
MailItem.Display
系统:Windows 10 x64
2019 年展望
AHK 1.1.33.02 以管理员身份运行