Friday, July 1, 2005

Outlook 2003: Warn if Subject Line Empty

Outlook does not have a built-in option to warn you if the subject line is empty. (Outlook Express does, but for some reason Outlook doesn't.) Here's how to put one in.

  1. Go to the menu Tools → Macro → Visual Basic Editor.
  2. Now in the Visual Basic Editor, you should see Project1 in the tree menu on the left. Drill down the tree to Project1 → Microsoft Office Outlook → ThisOutlookSession.
  3. In the code area (the big text area on the right) paste in the following code:
    Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    If TypeName(Item) <> "MailItem" Then Exit Sub
    
    'CHECK FOR BLANK SUBJECT LINE
    If Item.Subject = "" Then
    Cancel = MsgBox("This message does not have a subject." & vbNewLine & _
                         "Do you wish to continue sending anyway?", _
                         vbYesNo + vbExclamation, "No Subject") = vbNo
    End If
    End Sub
  4. Save and exit the VBA Editor.
You can test this by creating a message with a blank subject and clicking Send. You will be warned that the subject line is empty and asked if you want to send the message anyway. This macro is a simplified version of this code at outlookcode.com. I tested it on Outlook 2003 and it runs with no problems with macro security set to High. (To check your macro security level, click the menu Tools → Macro → Security.)

3 comments :

Alex said...
This comment has been removed by a blog administrator.
chriswue said...

Also works for Outlook 2007, thanks :)

yourcodeisshowing said...

I found this very useful. The messagebox sometimes appears beneath the message, however, and since it's modal, I can't move the message window to click "OK". Sort of the ultimate warning, I have to kill the process and start over... Still a good macro though.