Tuesday, November 8, 2011

Creating Outlook Appointments from Email

I'm sure everyone who uses Outlook runs into this issue of creating a meeting invite based on an email that was just received. I'm surprised Microsoft hasn't added a button by default to make it easy, but just because it's not there doesn't mean it's not possible. (Another reason to switch to Gmail, it's two clicks away - should really be one click away, but then ...)

The quick and dirty way to do it is to just drag the message onto the calendar tab and it will automatically open up an appointment for the next hour with the message in the body of the invite. What it doesn't do is to add the people on the email to the invitees list - you still have to add them manually. Now, we don't want to do that, do we? A VBA macro ought to do it. Thankfully, you don't have to write that yourself (unless you suffer from a serious case of NIH syndrome), as someone (who works for Microsoft in this case) has already done this for you - a few years ago!

The quick steps are:

  1. Download this file (it's safe don't worry) and save it to your Desktop: http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-02-50-65-92/NewMeetingRequestFromEmail.bas
  2. Open Outlook, hit Alt-F11 to open the Visual Basic Editor
  3. Hit Ctrl-M to open the import dialog and select the downloaded file to import. Save and close. 
  4. Open any email and from the quick access toolbar, hover over an item and right click to select "Customize Quick Access Toolbar ..." 
  5. In the configuration pop-up window, select "Macros" from the "Choose commands from: " drop-down menu. 
  6. You should see the macro that you just saved there, click "Add >>" to add it to the Quick Access Toolbar. (Choose a different icon to make it look like a Calendar to satisfy your inner OCD)
Now, when you open any message you can simply click this icon and it will do all wonderful things for you:
  • Create a new appointment
  • Copy the categories, body, and subject
    • Copy the attachments
      • Add the sender as a meeting participant
        • Add each email recipient as a meeting participant
          • Each To: participant will be required
          • Each CC: or BCC: participant will be optional

        If you would like more detailed instructions, then please refer to the original blog posts about how to get this done:

        Creating an Outlook Appointment based on an Email message
        Adding a VBA Macro to Outlook

        Enjoy!