Click here to Skip to main content
13,197,103 members (49,578 online)
Click here to Skip to main content
Add your own
alternative version

Tagged as


9 bookmarked
Posted 23 Apr 2009

Blank Subject Warning for Outlook 2007

, 23 Apr 2009
Rate this:
Please Sign up or sign in to vote.
Outlook does not validate for empty subject lines. This article provides a mechanism to achieve the same.


Nowadays, in the professional world, Outlook is most popularly used as the email client. The subject line is a very important part of any email. A good subject line can attract the attention of the email reader. How many times has it happened to you that you have sent an email through Outlook without a subject line? After clicking the Send button, you realize that you have made a mistake. Are you forgetting to include the subject line in emails? Outlook does not validate for an empty subject line.

Using the Code

We'll follow these steps to validate an empty subject line for Outlook 2007.

  1. Go to Tools -> Macro -> Visual Basic Editor. Or, directly press Alt + F11.
  2. The Visual Basic editor window gets opened.
  3. On the left pane, you will see Microsoft Outlook Objects or Project1, expand this. Now, you will see the ThisOutLookSession entry.
  4. Step 2

  5. Double click on ThisOutLookSession. It will open up a code pane.
  6. Copy and paste the following code in the code pane:
  7. Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
       Dim strSubject As String
       strSubject = Item.Subject
       If Len(Trim(strSubject)) = 0 Then
           Prompt$ = "Subject is Empty. Are you sure you want to send the Mail?"
          If MsgBox(Prompt$, vbYesNo + vbQuestion + _
                vbMsgBoxSetForeground, _
                "Check for Subject") = vbNo Then
            Cancel = True
          End If
      End If
    End Sub

    Now, just save the project.

    There is one more setting you need to do, and that is to enable the macro. Go to Tools->Macro->Security. A dialog window gets opened. Select Warning for all macro options.

That's it.. You are good to go now.

Close your Outlook and open it again. You will be notified about a security concern. See the image below:

Click on Enable Macros.

Now, try to send an mail with an empty subject line. Enjoy....


  • 23rd April, 2009: Initial post.


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

Talking Dotnet
Technical Lead
India India
I am an experienced Software Developer with 8+ years of hands-on experience working with Microsoft .NET technology (ASP.NET, C#, VB.NET,SQL Server).

Visit Talking Dotnet
Read Difference between Angular 1.x and Angular 2
For ASP.NET Core, read ASP.NET Core Articles
For Entity Framework Core, read Entity Framework Core Articles

You may also be interested in...

Comments and Discussions

SuggestionVery poor code! Pin
Gachl23-May-12 0:13
memberGachl23-May-12 0:13 
The code is very poor, no offense but it looks like an VBA novice wrote it... Why would you put the subject in an extra variable when it's already in Item.Subject? Why would you make an extra field to store the message box text in when it's only used once? Why would you use type specifiers that are out of date since like what, 1995? And why are you inconsistently defining one variable but not the other?

Here's a better approach

If Trim(Item.Subject) <> "" Then Exit Sub
Cancel = MsgBox("Subject is empty. Are you sure you want to send the mail?", vbYesNo + vbQuestion + vbMsgBoxSetForeground, "Check for Subject") = vbNo

Edit: Also, the part with the macro security settings is optional since many installations already have the correct setting to make it work, I would let newbies only change this setting if the macro doesn't work because of the security settings and otherwise keep the default setting.
GeneralMy vote of 5 Pin
PovilasPanavas19-Dec-10 21:35
memberPovilasPanavas19-Dec-10 21:35 
GeneralExellent Post buddy Pin
geekblogger23-Jun-10 0:11
membergeekblogger23-Jun-10 0:11 
GeneralRe: Exellent Post buddy Pin
Virendra Dugar23-Jun-10 1:19
memberVirendra Dugar23-Jun-10 1:19 
GeneralMissing variable declaration Pin
Chris Quinn4-May-09 23:28
memberChris Quinn4-May-09 23:28 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.171020.1 | Last Updated 23 Apr 2009
Article Copyright 2009 by Talking Dotnet
Everything else Copyright © CodeProject, 1999-2017
Layout: fixed | fluid