Outlook - 根据收件人插入文本

时间:2012-06-29 15:41:40

标签: vba outlook outlook-vba

我需要根据收件人自动将文本插入外发电子邮件中。我找到了一些代码来回答另一个看起来很有希望的问题(76Mel)。我似乎可以将代码附加到ThisOutlookSession

中的ItemSend
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
   If Item.MessageClass = "IPM.Note" Then
       For Each myRecipient In Item.Recipients
           If myRecipient.Address = "<EMAIL ADDRESS TO FIND>" Then 
           <code to add text>
           End If
       Next
   End If
End Sub 

将代码添加到电子邮件正文中的代码是什么?这甚至会起作用吗?这封代码会在发送电子邮件之前触发,还是已经太晚了?

我确实需要它自动化(创建一个按钮或手动运行宏实际上不是一个选项;它是一个记忆的东西:如果我记得运行宏,我可以手动添加文本)

1 个答案:

答案 0 :(得分:2)

这是你在尝试什么?我添加了评论,所以你不应该有任何问题理解它:)如果你还有一个问题,只需要问......

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    '~~> Check if it is an email
    If TypeName(Item) <> "MailItem" Then Exit Sub

    Dim srchString As String, NewText As String

    '~~> Email Address which you want to search for
    srchString = "abc@gmail.com"

    '~~> New text that you want to add
    NewText = "Blah Blah"

    '~~> Search To, CC, BCC Fields
    If InStr(1, Item.To, srchString, vbTextCompare) Or _
    InStr(1, Item.CC, srchString, vbTextCompare) Or _
    InStr(1, Item.BCC, srchString, vbTextCompare) Then
        '~~> Add the relevant text to the body
        Item.Body = Item.Body & vbNewLine & NewText
    End If
End Sub

我会推荐这个MSDN链接。

主题:MailItem对象成员

链接http://msdn.microsoft.com/en-us/library/bb176688%28v=office.12%29.aspx

从上方链接引用

  

表示收件箱文件夹中的邮件。

     

列出MailItem对象的所有方法/属性