发送MailItem,显示MsgBox

时间:2016-04-13 19:35:13

标签: vba outlook

我正在尝试发送消息,然后显示已发送的通知。像这样:

msg.Send
MsgBox "Message has been sent"

不幸的是,Outlook会将邮件转储到发件箱中,并且在对话框关闭之前不会处理发送/接收。

我粘贴了一些片段以强制发送/接收,然后等待发件箱清除,但不幸的是这段代码永远阻塞(因为当宏运行时,发件箱永远不会发送,并且宏正在等待发件箱发送):

msg.Send

Set nsp = Application.GetNamespace("MAPI")
Set sycs = nsp.SyncObjects
For i = 1 To sycs.Count
    sycs.Item(i).Start
Next

Set outb = nsp.GetDefaultFolder(olFolderOutbox)
Do While outb.Items.Count > 0
    DoEvents
Loop

MsgBox 

有没有简单的方法来实现我的目标?

1 个答案:

答案 0 :(得分:0)

在“已发送邮件”文件夹中使用Items.ItemAdd事件。