Popup将在Outlook中显示不需要的收件人

时间:2018-05-02 18:47:22

标签: outlook-vba

我有一个150人的列表,我不想发送除列表之外的任何电子邮件。是否可以在Outlook中设置一个宏,如果我尝试将任何电子邮件发送到列表中不存在的电子邮件ID,我会在发送电子邮件之前弹出一个?

1 个答案:

答案 0 :(得分:0)

是的,确实如此。您可以处理Application类的ItemSend事件,该事件在用户通过Inspector发送Microsoft Outlook项目时触发(在检查器关闭之前,但在用户单击发送之后)按钮)或在程序中使用Outlook项目的Send方法时,例如MailItem

Public WithEvents myOlApp As Outlook.Application 

Public Sub Initialize_handler() 
  Set myOlApp = Outlook.Application 
End Sub 

Private Sub myOlApp_ItemSend(ByVal Item As Object, Cancel As Boolean) 
  Dim prompt As String 
  prompt = "Are you sure you want to send " &; Item.Subject &; "?" 
  If MsgBox(prompt, vbYesNo + vbQuestion, "Sample") = vbNo Then 
    Cancel = True 
  End If 
End Sub

您可以检查Recipients集合(请参阅Outlook项目的相应属性),而不是只显示一个询问用户发送Outlook项目权限的消息框。它表示Outlook项目的所有收件人。因此,您可以检查它们并与列表进行比较。