如何在VBA中安排邮件在特定时间进行投递

7
如何在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

延迟发送时间(DeferredDeliveryTime)有用吗?如何使用它?


使用VBScript。请参见示例。 - Siddharth Rout
@SiddharthRout,你不必这样做,还有一个mailitem属性可以实现这个功能:https://msdn.microsoft.com/de-de/library/office/ff869452.aspx user3332507: 里面都有,自己读一下并尝试一下。;) 如果你有具体的问题,欢迎回来提问。 - Tom K.
1个回答

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

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


++是的,你说得对。对于以前的版本,一个人将不得不采取我在上面的评论中提到的路线。 - Siddharth Rout

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接