How many times have you forgotten to attach files you promised in your email and only wish Outlook would remind you before the email went out? Unfortunately, Outlook doesn’t have such a feature out of the box.
Here is a trick that makes such reminder available in Outlook without installing any 3rd party plug-ins. You will see a reminder popping up like below when Outlook sees the word “attach*” but doesn’t see any files attached.
Since the trick involves adding a few line of VBA code in Outlook, there are a couple of thing we need to set before punching in the codes.
Firstly, we need to turn on the Developer tab on Ribbon bar.
Go to File → Options, click Customize Ribbon section, and check Developer under Main Tabs on the left panel.
Now, we will see Developer tab appearing between View and Add-ins tab.
Secondly, we will need to change Macro permission to allow the code to run.
Again, go to File → Options, click Trust Center on the left, and Trust Center Settings… button on the right. In Trust Center window, go to Macro Settings, and change the permission level accordingly. For myself, I simply choose Enable All, but I certainly don’t recommend it, as it lowers the security level in your Outlook. Note that, if you choose Notification option, pay attention to the warning bar asking for your permission to run the code when Outlook starts.
Now it’s time to have fun and add the codes into Outlook.
Go to Developer tab, and click Visual Basic icon, which opens up Microsoft Visual Basic for Applications window, on top of Outlook.
Highlight ThisOutlookSession and paste in the following codes.
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
If InStr(1, Item.Body, "attach", vbTextCompare) > 0 Then
If Item.Attachments.count = 0 Then
answer = MsgBox("There's no attachment, send anyway?", vbYesNo)
If answer = vbNo Then Cancel = True
Save the file and exit VBA window.
And that’s all you need to have the Attachment Reminder in your Outlook. Give it a try and see if it saves you from the embarrassing moments down the road.
I’ve tested the code in Outlook 2007, and 2010 but haven’t tried in 2012. I don’t think of any reason why it shouldn’t work in Outlook 2012 though.