March 2, 2008

Outlook Done Button

A strategy called Inbox Zero centers around a "process to zero" approach to keeping your e-mail inbox empty. You can use the Inbox Zero strategy to save yourself from e-mail overload and significantly reduce the amount time you waste rereading e-mails and sifting through an overflowing, stale inbox.
Many of your e-mail messages can simply be deleted after you have read them, and other messages should be moved into specific folders for future action or reference. However, it is likely that the majority of your incoming messages simply need to be quickly read once and then moved out of the way into some kind of general "Done" folder. These are the messages that require no action and are not worthy of filing into any specific folder, but it would be unwise to immediately delete them.

Many e-mail applications make the process of moving read e-mail into a "Done" folder very easy with a single button click or keystroke -- not Microsoft Outlook. Microsoft has an amazing ability to make obvious and simple tasks become painfully convoluted and cumbersome. Fortunately, there is a way to
configure Outlook to enable you to "process to zero" without being forced to use the mouse to drag each and every message into a "Done" folder.

Follow the steps below to create an Outlook macro which implements a Done button. The first step guides you though creating a certificate for you macro so the macro will be "trusted" on you computer. Then you will create the macro itself and a corresponding Done folder. Lastly, customize the toolbar to add a button which runs the macro.

Steps:

A) Create a Personal Digital Certificate
Start → Programs → Microsoft Office → Microsoft Office Tools → Digital Certificate for VBA Projects → Your certificate's name: Personal Certificate → OK → OK


B) Create Macro from Microsoft Outlook
1: Tools → Macro → Macros...
2: In "Macro Name:" field, enter "MoveToDone" and click "Create"
3: Enter the following code into the VBA editor:
Sub MoveToDone()
Set DoneFolder = Application.GetNamespace("MAPI"). _
GetDefaultFolder(olFolderInbox).Parent.Folders("Done")
For Each Msg In ActiveExplorer.Selection
Msg.Move DoneFolder
Next Msg
End Sub


4: Tools → Digital Signature... → Choose... → Select "Personal Certificate" → OK → OK
5: File → Save
6: File → Close and Return to Microsoft Outlook Office

C) Create a Done Folder
File → New → Folder... → Name: Done → Select Mailbox (top of list) → OK

D) Add Done Button
Tools → Customize... → Commands → Macros → Drag Project1.MoveToDone onto the toolbar → Context menu (right-click) for the new MoveToDone button → Set "Name:" to Done → Close


E) Enable Macros
After restating Outlook and clicking your new "Done" button, you will be prompted to allow the button to run.

Check the "Always trust macros from this publisher" option and then click "Enable Macros".

Now you can move a message from your Inbox into the Done folder with the "Done" button.

You might also find it valuable to use the "Outbox" as your to do list. If you need to take action on the e-mail, reply to the message even if you do not immediately send your reply. That way, your "Outbox" becomes your to do list.

Leveraging your Outbox as your to do list and using your new Done button, you can maintain an empty Inbox and focus on doing real work instead of suffering from e-mail overload.


7 comments:

Seth said...

This is very helpful! However, adding the Done button to the Quick Access Toolbar for a message window (as opposed to folder view) doesn't move that message to the Done folder. How can the macro be adjusted so it works from a message window for that active message also? Thanks!

Seth said...

I've made some modifications that others might find useful: Add Gmail-like "Archive" and "Move to Inbox" Buttons to Outlook

Илья said...

When I click to "Done" button receive date and time of the message is break.
Outlook 2007, windows xp sp3.
What am I doing wrong?

Seth said...

I've made more updates here: http://windowstipsandfixes.blogspot.com/search/label/QuickArchive%20in%20Outlook

BTW, how do you get the neat code text boxes for blog posts?

Also, thanks again for this! It's been great!

Dem Pilafian said...

Илья,
The script is deliberately kept as simple as possible... it has no error checking. Make sure you have a "Done" folder in the correct location and you only click the button for e-mail messages in your "Inbox". Alternatively, you could enhance the script with error checking, and then use the msgbox function to notify the user of problems.

GeoJono said...

This is great! Thanks for posting it. I have a question, though.

I have more than one Exchange mailbox in my Outlook (one is mine: Jono Martin [the default], and the other is called IT Support). Currently, the button I setup using your script does exactly what it's supposed to from any folder to the new Done folder that I setup in the Jono Martin Mailbox. I would like the script to place the items that are in the IT Support Inbox into a different folder--perhaps "IT Done"--and that folder is in the IT Support mailbox.

I tried just doing another macro just like the first and changing the destination folder name. I got an error stating that it couldn't find the folder. My suspicion is that it was only looking in the default Mailbox--Jono Martin--and could not find it because it's in a different Mailbox.

Do you know how I can alter the script to have it move the item to the correct Done folder based on the original Inbox?

Thanks,
Jono

Dem Pilafian said...

Seth,
The "neat code text boxes" are made with:
<div style="border: 3px solid gold; padding: 0px 10px; display: table; background-color: whitesmoke; font-size: 85%; margin-left: auto; margin-right: auto"><pre>1st line of code<br>2nd line of code</pre></div>