Use a default subject for New messages

Last reviewed on December 30, 2013

New email iconA user asked how to change the New Email button to use a template so all new messages always used the same subject.

You can't set a custom form as the default but you can use VBA to watch for a new item form to open and 'do something' when it does. Because the administrator only wanted to control the subject, it makes more sense to use a macro rather than a custom form.

For the solution to this problem, I tweaked Micheal Bauer's macro at Inspector: Edit new items, so that it only applies to new email.

You can use this method to affect any field in any new item, but for this sample macro, I'm limiting it to just new email messages.

If you want to tag the subject of every message you send, an ItemSend macro might work better as users can't change the subject after hitting Send. If using Exchange server, a transport rule. Also see Disclaimer and Signature tools

Do something when a new item opens code sample


' Based on http://www.vboffice.net/sample.html?lang=en&mnu=2&smp=47&cmd=showitem
Private WithEvents m_Inspectors As Outlook.Inspectors
Private WithEvents m_Inspector As Outlook.Inspector

Private Sub Application_Startup()
  Set m_Inspectors = Application.Inspectors
End Sub

Private Sub m_Inspectors_NewInspector(ByVal Inspector As Outlook.Inspector)
  Set m_Inspector = Inspector
End Sub

Private Sub m_Inspector_Activate()
If TypeName(m_Inspector.currentItem) = "MailItem" And _
  m_Inspector.currentItem.Subject = "" Then
    m_Inspector.currentItem.Subject = "test"
End If
  Set m_Inspector = Nothing
End Sub

How to use the macro

For screenshots, see How to use Outlook's VBA Editor.

Step 1: Verify Macro security is set to low, or self-sign the macro. Outlook will usually mention that macros are disabled when you open the VBA editor, but you should check, just to be sure. Look for this at File, Options, Trust Center, Macro Security in Outlook 2010/2013 or in Tools, Trust Center, Macro Security in Outlook 2007.

Step 2: Open the VB Editor using Alt+F11 keys.

Step 3: This macro needs to go into ThisOutlookSession, which is under Project1.

Step 4: Tweak the macro as needed then click in the Application_Startup macro and click the Run button (or F5). If you need to edit the macro, click and Run the startup macro before testing.

What about the Forms Administrator utility?

In 2000, Microsoft released a Forms Administrator utility that uses a registry key to set custom forms. It was a one-version experiment and the utility was not updated in later releases.

It can still be used (even with Outlook 2013) but there is a reason it was not updated: there are better ways to change default forms.

When used for email, this method creates winmail.dat files, which results in the loss of HTML formatting and may result in the loss of attachments when the recipient is not using Outlook.

From the Microsoft KB article describing FormsAdmin:

In particular, custom e-mail message forms pose the most issues. Therefore, if you change the Outlook default forms, you can experience major issues in some scenarios.

This method will not work with forms that use Forms Regions (Outlook 2007 and later).

More Information

To change a default Outlook form (Outlookcode.com)

Written by

Diane Poremsky
A Microsoft Outlook Most Valuable Professional (MVP) since 1999, Diane is the author of several books, including Outlook 2013 Absolute Beginners Book. She also created video training CDs and online training classes for Microsoft Outlook. You can find her helping people online in Outlook Forums as well as in the Microsoft Answers and TechNet forums.

If the Post Coment button disappears, press your Tab key.