如何在VBA中安排邮件发送到特定时间

use*_*507 7 excel outlook vba

如何在VBA中安排邮件发送到特定时间

生成邮件的代码

Set olApp = CreateObject("Outlook.application")
Set olItem = olApp.CreateItem(0)
olItem.display
olItem.To = "bhagyashri.kulkarni@mindtree.com"
olItem.Subject = "Auto Generated - Consolidated Task Tracking Report"
olItem.htmlbody = Join(aBody, vbNewLine)
olItem.Attachments.Add outputFileName
olItem.display
Run Code Online (Sandbox Code Playgroud)

DeferredDeliveryTime 有用吗?如何使用它 ?

Tom*_* K. 7

我实在是太好奇了,没有回答这个问题。这段代码应该可以工作。

Sub stackfun()  
Set olApp = CreateObject("Outlook.application")
Set objMail = olApp.CreateItem(olMailItem)
With objMail
 .Display    
 .To = "tomisgreat@something.com"
 .Subject = "you rule"
 'HTML for fun
 .BodyFormat = olFormatHTML     
 .HTMLBody = "<HTML><H2>Y HELO THAR</BODY></HTML>"
 .DeferredDeliveryTime (#11:59:59 PM#)
End With
End Sub
Run Code Online (Sandbox Code Playgroud)

遗憾的是.DeferredDeliveryTime,只有在 Outlook 2013 之后才有效,Siddarth Rout在评论中推荐了这种VB 驱动的方法。