如何在outlook邮件发送时触发事件执行vba代码?

outlook 的application对象ItemSend事件可以在发送邮件时触发。

当需要在邮件发送出去之前执行vba代码时,可以在application对象的ItemSend事件中写对应的代码。

比如要在发送邮件时,根据发送邮件的主题判断是否添加附件,可以使用如下的代码:

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    Dim oMI As MailItem
    Set oMI = Item
    '如果发送的邮件的主题是test则执行添加附件的代码
    If oMI.Subject = "test" Then
        sText = oMI.Body
        sFileName = Split(Split(sText, "附件$")(1), "$")(0)
        oMI.Attachments.Add sFileName
    End If
End Sub

 

 

       

发表评论