VBOffice

Edit the List of Recipients Before Sending

This macro removes some addresses from an email before it leaves your outbox.

Last modified: 2010/02/20 | Accessed: 71.131  | #81
◀ Previous sample Next sample ▶
ReplyAll ReplyAll
ReplyAll alerts you before unintentionally replying all, or if you are a confidential BCC recipient of the e-mail.

Does is happen sometimes that you send an email to a recipient you don't want to send to? For instance, sometimes Outlook sends an email to yourself when you hit the 'Reply All' button.

This VBA example checks the list of recipients before sending, and it removes certain addresses from it.

Just copy the line of code starting with 'RemoveThis.Add...' as many times as you need it, and enter the addresses you never want to send an email to.


tip  How to add macros to Outlook
Private Sub RemoveRecipients(Item As Outlook.MailItem)
  Dim RemoveThis As VBA.Collection
  Dim Recipients As Outlook.Recipients
  Dim R As Outlook.Recipient
  Dim i&, y&
  Set RemoveThis = New VBA.Collection

  ' add addresses here
  RemoveThis.Add "abc@domain.de"
  RemoveThis.Add "test@domain.com"

  Set Recipients = Item.Recipients
  For i = Recipients.Count To 1 Step -1
    Set R = Recipients.Item(i)

    For y = 1 To RemoveThis.Count
      If LCase$(R.Address) = LCase$(RemoveThis(y)) Then
        Recipients.Remove i
        Exit For
      End If
    Next
  Next
End Sub

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
  On Error Resume Next
  RemoveRecipients Item
End Sub
OLKeeper OLKeeper
OLKeeper reliably prevents users from closing their Outlook window and thus possibly missing reminders or e-mails.
email  Send a message