【发布时间】:2015-11-13 13:00:40
【问题描述】:
我最近编写了一个 VBScript 来使用 Outlook 发送电子邮件。一切都很好,直到它到达发送点。我假设因为它只打开一条消息,并且由于消息已发送......窗口关闭并且 Outlook 被杀死。
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
objMail.Display 'To display message
objMail.Recipients.Add ("address@example.com")
objMail.Subject = "Mail Subject"
objMail.Body = "This is Email Body"
objMail.Send
objOutlook.Quit
Set objMail = Nothing
Set objOutlook = Nothing
所有信息都正确输入到电子邮件中。但是,一旦执行发送命令,邮件就会被放入发件箱并且永远不会发送,除非事后手动打开 Outlook。有没有一种方法可以用来在脚本结束之前运行发送/接收?还是延迟让 Outlook 进程保持活动状态才能实际发送?
我似乎无法想到任何事情,因此感谢所有帮助。
谢谢
【问题讨论】:
-
您的 Outlook 是设置为自动发送还是每 x 分钟发送一次?
-
@DragonSamu,目前是默认配置。所以我很确定每当他们点击发送时它被设置为自动发送/接收
-
我建议使用:
Application.Wait(Now + TimeValue("0:00:10"))并检查在关闭发送电子邮件之前前景应该保持打开多长时间。然后像我展示的那样把时间设置为 10 秒。
标签: vba email vbscript outlook