Use this macro to send an email message to the selected contacts. While you can use the Email button (Actions or Create > New Email Message to Contacts in older versions) to address the message to the selected contacts, the addresses are placed in the To field. You need to select all, copy and paste to move them to the BCC field.
This macro gets the addresses from selected contacts (or the Name of Contact Groups) and opens a new message with the addresses in the BCC field.
To use, select the contacts you want to send a message to and run the macro. A new message will open with the selected contacts in the BCC field.
Note that you need to select the contacts, you can't select a Category or other group and include all members of the group as you can with the Email button.
Address message to contacts macro
Open the VBA Editor by pressing Alt+F11. Right click on Project1 and choose Insert > Module. Paste the code into the new module. Click the Save icon or press Ctrl+S to save it.
Public Sub SendAsBcc() Dim Selection As Selection Dim strDynamicDL As String Dim obj As Object Set Selection = ActiveExplorer.Selection For Each obj In Selection If obj.Class = olContact Then strDynamicDL = strDynamicDL & ";" & obj.Email1Address Else strDynamicDL = strDynamicDL & ";" & obj.DLName End If Next Dim objMsg As MailItem Set objMsg = Application.CreateItem(olMailItem) objMsg.To = "myself@here.com" objMsg.BCC = strDynamicDL objMsg.Display Set objMsg = Nothing Set obj = Nothing End Sub
I tried your macro above, using a group in my shared contacts group (outlook 10) but it didn't put the emails in the BCC field - just the text...
Is there a way around this?
Thanks!
Text, as in email addresses or display names? Ctl+K (or Alt+K, depending on where the cursor is) should resolve the addresses but I will update the code so Outlook forces it. Thanks for pointing it out.
I have a outlook 2007 macros that each opens up a e-mail template as a new e-mail. In my contact template, I have added the macros to the tool bar, so can click on the anyone of them, and it opens up a new e-mail based on the e-mail template provided in the macro. How can I add a line to the macro so when I click on it in a contact I opened, it automatically adds the email address of the contact to the e-mail that is opened up per the template. In the contact form, there is the email field, so how do we have the macro recognize that field to the "To" bar of the email that is opened up by clicking on the macro?
Thanks very much, as this is the last thing I think I need to learn.
Use the macro on this page but change Set objMsg = Application.CreateItem(olMailItem)
to Set objMsg = Application.CreateItemFromTemplate("C:\path\to\template.oft").
You'll also want to change objMsg.BCC = strDynamicDL to objMsg.To = strDynamicDL.
If you absolutely will only ever select one contact, you would tweak it a little.
Also, the macro at https://www.slipstick.com/outlook-developer/create-deferred-birthday-message-contact/ shows how to do this (and use other contact fields).