用VBA发送Outlook电子邮件的时间不会在第二天发送?
问题描述:
我试图做的是发送一个电子邮件使用VBA在Excel中虽然展望,但与第二天约8:30发送日期/时间的防守。 下面的代码将发送一封电子邮件罚款,甚至当我的工作站被锁定时,它甚至会发送一个具有发送时间戳的邮件,但是当我将其设置为第二天8:30时,他们只是留在我的发件箱中,直到我打开他们打起来,我甚至可以打开他们,并在打击时间之前发送,他们将罚款,或之后,他们将发送imediatly。用VBA发送Outlook电子邮件的时间不会在第二天发送?
传入的deferedtime变量是格式化字符串 “DD/MM/YYYY HH:MM:SS”,例如 “15/10/2010 08:30:00”
Sub Send_Outlook_Email(Addresses, attach, strSubject, strBody, defertime)
Dim objOL As Outlook.Application
Dim msg As Outlook.MailItem
Set objOL = New Outlook.Application
Set msg = objOL.CreateItem(olMailItem)
Dim d As Date
strEmail = ""
For i = 0 To UBound(Addresses)
strEmail = strEmail & Addresses(i) & "; "
Next
strEmail = Trim(strEmail)
With msg
.To = strEmail
.subject = strSubject
.HTMLBody = strBody
For i = 0 To UBound(attach)
strAttach = attach(i)
If Len(strAttach) > 0 And Len(Dir(strAttach)) > 0 Then
.Attachments.Add (strAttach)
End If
Next
.DeferredDeliveryTime = defertime
.Send
End With
End Sub
我失去了一些重要的东西?
答
DeferredDeliveryTime
是Outlook邮件消息的属性。
如果您有Exchange服务器,则“延迟发送”将由Exchange完成。如果您没有Exchange,则您的Outlook应用程序需要处于活动状态。
答
cached mode
- 禁用它。
这发生在我身上,我的工作中的IT人员能够帮助我解决问题。我正在运行Office 2010
。
是的,它是通过Exchange服务器完成的,正如我之前提到的那样,当我的工作站被锁定时它会发送,但不会在它运行一晚时发送。我可以运行宏,然后进入我的发件箱命中发送,然后当延迟时间周期它会发送,同样,当我用延迟时间手动创建电子邮件。考虑到这一点,我不认为这是Outlook应用程序处于活动或Exchange服务器的问题,但与宏或延迟时间如何传递给Outlook – Anthony 2010-10-15 09:46:53