2016-08-12 3 views
3

Как запланировать доставку почты в определенное время в VBAКак запланировать доставку почты в определенное время в VBA

кода для генерации почты

Set olApp = CreateObject("Outlook.application") 
Set olItem = olApp.CreateItem(0) 
olItem.display 
olItem.To = "[email protected]" 
olItem.Subject = "Auto Generated - Consolidated Task Tracking Report" 
olItem.htmlbody = Join(aBody, vbNewLine) 
olItem.Attachments.Add outputFileName 
olItem.display 

Будет ли DeferredDeliveryTime быть полезным? Как это использовать ?

+0

Используйте VBScript. См. [ЭТО] (http://stackoverflow.com/questions/10211250/excel-vba-email-does-not-send-when-computer-is-locked) пример –

+0

@SiddharthRout, вам не обязательно, есть также свойство mailitem для этого: https://msdn.microsoft.com/de-de/library/office/ff869452.aspx user3332507: Это все, что есть, просто прочитайте и попробуйте сами. ;) Если у вас есть конкретная проблема, вы можете вернуться и спросить. –

+1

@Tom: Naicee :) –

ответ

3

Мне было просто любопытно, чтобы не ответить на этот вопрос. Этот кусок кода должен работать.

Sub stackfun() 
Set olApp = CreateObject("Outlook.application") 
Set objMail = olApp.CreateItem(olMailItem) 
With objMail 
.Display  
.To = "[email protected]" 
.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 

.DeferredDeliveryTime К сожалению, работает только после того, как Outlook 2013, Siddarth Разгром рекомендуется this VB ориентированного подхода в комментариях.

+0

++ Да, вы правы. Для предыдущих версий вам нужно будет пройти маршрут, о котором я говорил в комментариях выше. –

Смежные вопросы