This article will share a piece of VBA code, which can permit you to quickly delay the delivery to a specific member when sending an email to a contact group in Outlook.
When you compose and send an Outlook email to a contact group, if you would like to delay sending this email to a specific member in this group, you can utilize the following method to realize it. It will automatically expand the contact group and generate a same email which is delayed to the specific member. Now, read on to get the elaborate steps.
Delay the Delivery to a Specific Member when Sending an Email to a Contact Group
- To start with, launch your Outlook program.
- Then, in the emerging Outlook main window, you should press “Alt + F11” key buttons.
- Subsequently, you’ll get access to the Outlook VBA editor, in which you need to insert a new module or simply open a module that is not in use.
- After that, you can copy and paste the following VBA code into this module.
Sub DelayEmail_aSpecificMemberinContactGroup() Dim objCurrentMail As MailItem Dim objRecipients As Recipients Dim ContactGroupFound As Boolean Dim i, n As Long Dim objDelayedMail As MailItem Set objCurrentMail = ActiveInspector.CurrentItem ContactGroupFound = True While ContactGroupFound = True Set objRecipients = objCurrentMail.Recipients ContactGroupFound = False 'Expand the contact group in "To" field For i = objRecipients.count To 1 Step -1 If objRecipients(i).AddressEntry.DisplayType <> olUser Then For n = 1 To objRecipients(i).AddressEntry.Members.count If objRecipients(i).AddressEntry.Members.Item(n).DisplayType = olUser Then objCurrentMail.Recipients.Add (objRecipients(i).AddressEntry.Members.Item(n).Address) Else objCurrentMail.Recipients.Add (objRecipients(i).AddressEntry.Members.Item(n).Name) ContactGroupFound = True End If Next objRecipients(i).Delete End If Next i objRecipients.ResolveAll Wend 'Find the specific memebr in the recipients For Each objRecipient In objRecipients If objRecipient.Address = "firstname.lastname@example.org" Then 'Create a same email Set objDelayedMail = objCurrentMail.Copy With objDelayedMail .To = "" .Recipients.Add objRecipient.Address .Recipients.ResolveAll 'Change the deferred delivery time as per your needs .DeferredDeliveryTime = (Date + 1) & " 09:00:00" .Send End With objRecipient.Delete End If Next objCurrentMail.Send End Sub
- Next, for later convenient access, you had better add the newly added macro to the Quick Access Toolbar of Message window.
- And then you ought to alter your Outlook macro settings to enable all macros in the “Macro Settings” of “Trust Center”.
- Eventually, you can take a shot.
- Firstly, compose such an email to the contact group as usual.
- Then you can click the new macro button in the Quick Access Toolbar.
- At once, a same email will be created and set to be sent out to the specific member at the scheduled time.
- In the meantime, the current email will be sent out to the rest members in the contact group.
Keep an Eye Out for All Risks around Your Outlook
In the contemporary era, virus and spyware is becoming increasingly rampant. It is usually disguised as innocuous email. Hence, you should watch out for various risks around your Outlook, such as the malicious emails. You need beware of the emails from unknown contacts. Also, in order to fix Outlook as soon as your PST file is attacked by malware, you have to prepare an experienced repair tool, like DataNumen Outlook Repair.
Shirley Zhang is a data recovery expert in DataNumen, Inc., which is the world leader in data recovery technologies, including corrupted sql and outlook repair software products. For more information visit www.datanumen.com