Tuesday, April 14, 2009

Outlook Attachment Reminder Script

Here's a great tip from the April 9, 2009 Colorado Bar Association weekly e-newsletter, E-Brief. Thank you to Reba Nance for permission to pass this on to you.


Outlook Attachment Reminder script

We’ve all done it. You send an e-mail to someone, saying that you’ve included an attachment. But you forget to attach it. Wouldn’t it be nice if next time, Outlook let you know that, “It appears that you meant to send an attachment, but there is no attachment to this message," and offer you the opportunity to attach the missing file?

It takes 5 minutes to set this up. Simply follow the instructions here. Don’t worry, all you have to do is cut-and-paste. Here’s how to set up an Outlook macro using Visual Basic that will accomplish this for you. This tip was developed by Mark Bird, and can be found at http://mark.bird.googlepages.com/home.

Outlook Attachment Reminder

This Outlook macro will politely remind you to attach a file if it finds the word "attach" in your email and no actual attached file.

Adding a macro to Outlook is easy. Just copy everything below starting with "Private Sub" through "End Sub." In Outlook, select the "Tools | Macro | Visual Basic Editor" menu option. You may need to expand the project by clicking the plus signs under Project1 until you see ThisOutlookSession, and then double-click it. Click into the big white empty page and hit Paste.

Click Save and you'll be all set. If you've previously disabled macros you'll need to enable them.

*Note: Outlook Express doesn't support macros.

*Update: Outlook counts files used in Signatures as attachments. If your signature uses one or more files, find the line intStandardAttachCount = 0 and make it equal the number of files in your signature. Thanks to Kevin Rowe for pointing this out.

Copy and Paste this:

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)

Dim m As Variant

Dim strBody As String

Dim intIn As Long

Dim intAttachCount As Integer, intStandardAttachCount As Integer

On Error GoTo handleError

'Edit the following line if you have a signature on your email that includes images or other files. Make intStandardAttachCount equal the number of files in your signature.

intStandardAttachCount = 0

strBody = LCase(Item.Body)

intIn = InStr(1, strBody, "original message")

If intIn = 0 Then intIn = Len(strBody)

intIn = InStr(1, Left(strBody, intIn), "attach")

intAttachCount = Item.Attachments.Count

If intIn > 0 And intAttachCount <= intStandardAttachCount Then

m = MsgBox("It appears that you mean to send an attachment," & vbCrLf & "but there is no attachment to this message." & vbCrLf & vbCrLf & "Do you still want to send?", vbQuestion + vbYesNo + vbMsgBoxSetForeground)

If m = vbNo Then Cancel = True

End If

handleError:

If Err.Number <> 0 Then

MsgBox "Outlook Attachment Reminder Error: " & Err.Description, vbExclamation, "Outlook Attachment Reminder Error"

End If

End Sub


Please feel free to contact Reba Nance at reban@cobar.org if you have any questions.

No comments:

Check out our tags in a cloud (from Wordle)!