通过Excel VBA发送电子邮件一次一个

我正在使用MS Excel和Outlook 2013.我试图自动化一个Excel电子表格,使用Outlook将5封电子邮件发送到指定的地址。

诀窍是我希望每条消息一次显示一条消息,并且只有在用户点击发送或closures消息时才会转到下一条消息。 这是我到目前为止:

Sub Send_Emails() Dim OutApp As Object: Set OutApp = CreateObject("Outlook.Application") Dim OutMail As Object: Set OutMail = OutApp.CreateItem(0) 'Send Email With OutMail .to = "john.doe@mycompany.com" .Subject = "This is the Subject" .Body = "This is message" .Display End With On Error Resume Next: OutMail = Nothing OutApp = Nothing End Sub Sub Send_Five_Emails() For i = 1 To 5 'Send email 5 times Call Send_Emails Next i End Sub 

这个代码的问题是它一次显示所有5个消息窗口。 有没有办法使一个消息窗口的closures事件触发下一个的显示,以使它们一次出现一个?

我感谢帮助。

使用.Display (True)

除了ExplorerMAPIFolder对象之外, expression.Display(Modal)参数与所有对象一起使用, True使窗口模式化。 默认值是False

请参阅MSDN上的显示方法