问题: 我已经编写了一个脚本,通过ComObject发送邮件,当我将其用作用户时,它的工作原理像一个超级按钮,但是如果我使用Task Scheduler执行该脚本,它就不会起作用。
我做了什么?我已经将ComObjActive更改为ComObjCreate。
代码:
主体正确,并且包含HTML文本。
Myself = %AUMailAdress%
Recipient := Myself
Subject := Oi
Body := Ci
Recipient5 = Hidden@gmail.com
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”)。 CreateItem(olMailItem)
连续运行脚本吗?
答案 0 :(得分:0)
我为此苦苦挣扎了大约3个小时,尝试了很多事情,包括这种方法:
最后,我以管理员身份运行Outlook,并且使用以下代码,所有程序都开始正常工作:
outlookApp := ComObjCreate("Outlook.Application")
MailItem := outlookApp.CreateItem(0)
MailItem.Display
系统:Windows 10 x64
Outlook 2019
AHK 1.1.33.02以管理员身份运行