This is not the first time that I’ve found myself writing a blog entry about “managing e-mail”. However, it is the first time that I’ve written about managing e-mail and felt that I have a workable solution, for me at least. For the last 18 months or so, I have been trying to push Getting Things Done into my life – too many e-mails, an ever-growing to-do list and clutter have been putting a lot of weight on my shoulders. Something had to be done to alleviate that weight, GTD seemed like a popular/successful fit.
Whilst I have managed to enjoy the short-term benefits of Inbox Zero, reaching it a few times over the last 18 months, keeping on top of a fast filling inbox kept getting the better of me. As such, most of my “e-mail time” was spent processing immediate actions or fire-fighting. Working like this means somethings do slip under the radar and can come back to bite you where it hurts most. Something had to be done – it had to be simple, effective and something that I could run with for a long time.
I chose to stick with the GTD filing advice whereby tasks/items are organised into four pots: Action, Deferred, Someday and Waiting For, as explained in a little more detail over here (with thanks to Richard Peat over on Twitter). These folder names are working for me, your mileage may vary.
Dragging and dropping into these folders is fine, however it is a little cumbersome and mouse-intensive – it’s easy to make mistakes with drag’n’drop. I really wanted an more integrated solution that was better than drag’n’drop and better than the keyboard shortcut for Move To Folder (Control+Shift+V). After a little hunting around for GTD solutions, I settled on my own home-grown solution. I say home-grown, I actually took some inspiration from Chewy’s Blog – where you can find an Outlook macro that invokes a “move to folder” action in Outlook. With a little modification I found myself with a handful of Outlook macros that would let me select one or more e-mails, run one of the GTD macros and hey presto, the e-mails would then magically file themselves in the appropriate GTD folder.
However, I wanted more than “running macros”, I wanted toolbar icons that would run these macros and offer me keyboard shortcuts. Fortunately, Microsoft Outlook allows us to create macros that can be run from a toolbar icon and these icons can have keyboard shortcuts associated with them.
Creating a Microsoft Outlook macro is fairly painless: simply click on the Tools, Macro, Macros menu item (or press Alt+F8). Enter a macro name that reflects your action, e.g. MoveGTDAction and then click on the Create button. With a little care, you should be able to cut’n’paste the code from this example into the VBA code editor.
One of the modifications that I made to the Chewy’s original code was the introduction of a separate routine that is capable of moving e-mail items to a given folder. I needed to be able to call this routine such that it would operate on at least four different folders (the GTD folders), so a separate routine seemed logical. Here’s the code behind MoveToFolder:
Sub MoveToFolder(objFolder As Outlook.MAPIFolder) On Error Resume Next Dim objItem As Outlook.MailItem If objFolder Is Nothing Then MsgBox "This folder doesn't exist!", vbOKOnly + vbExclamation, "INVALID FOLDER" End If If Application.ActiveExplorer.Selection.Count = 0 Then Exit Sub End If For Each objItem In Application.ActiveExplorer.Selection If objFolder.DefaultItemType = olMailItem Then If objItem.Class = olMail Then objItem.Move objFolder End If End If Next Set objItem = Nothing Set objFolder = Nothing End Sub
Making use of MoveToFolder for each of the GTD folders necessiates the creation of routines for each of the folders. Here’s the code for MoveGTDAction – be careful to get the folder hierarchy correct.
Sub MoveGTDAction() On Error Resume Next Dim objNS As Outlook.NameSpace Set objNS = Application.GetNamespace("MAPI") Call MoveToFolder(objNS.Folders.Item("Mailbox - Murphy, Craig").Folders.Item("@ GTD").Folders.Item("Action (respond or process)")) Set objNS = Nothing End Sub
Another minor tweak that I use is the notion of an “Archive 2008” folder. I delete e-mail when it needs to be deleted, but there are a lot of e-mails that you may want to hold on to for any number of reasons. Of course you don’t want them hanging around your Inbox or your GTD folders…so I have a folder called Archive with sub-folders 2008, 2007, etc. Equally, I don’t want the archived e-mails hanging around in my corporate Exchange folders, so I use Microsoft Outlook’s Personal Folders instead (with an appropriate backup regime in place!) Here’s the code that I use to move such e-mails into my Personal Folders for year 2008:
Sub MoveArchive2008() On Error Resume Next Dim objNS As Outlook.NameSpace Set objNS = Application.GetNamespace("MAPI") Call MoveToFolder(objNS.Folders.Item("Personal Folders").Folders.Item("Archive").Folders.Item("2008")) Set objNS = Nothing End Sub
Microsoft Outlook’s toolbars are very customisable. Simply right-click on any area of the toolbar and you’ll be presented with a list of the toolbars that are currently available and those that are visible (ticked). You’ll also see the Customise menu option (yes, yes, Customize if you’re elsewhere in the world). Clicking on the Customise menu option will give us the option to add a new toolbar, one with buttons that run the macros created earlier. I have two toolbars, GTD and Organise. The GTD toolbar handles the four GTD folders whereas the Organise toolbar handles Archive 2008, Outlook’s built-in Move To Folder icon and the frequently used Delete icon.
Using the Customise dialog, it’s easy to create a new toolbar, simply click on the New… button.
Once you have a toolbar, getting the GTD macros on to that toolbar is also a simple step. Click on the Commands tab and choose the Macros category, as shown below.
It’s possible to drag the macros (e.g. Project1.MoveGTDAction) onto your ‘GTD’ toolbar – a toolbar button will appear. If you were to right-click on the newly created button, you’ll be able to change its name such that it has a keyboard short-cut, simply by prefixing the letter that you would like to use with an ampersand (&). The screenshot below demonstrates how we might use Alt+A to invoke the “file to Action folder” button.
Repeating this process for all the GTD actions, you might end up with a toolbar that looks similar to this one:
For the sake of completeness, my GTD folder structure looks like this:
I’ve used these folders, macros, toolbars and keyboard shortcuts to clear down both my corporate inboxes and my personal inbox (which was by far the worst). I have a few more tricks that I’m using to keep my inbox “flowing”, I’ll share those in a follow-up blog post. In the meantime, if you have any tips and tricks that you would like to share, please feel free to leave a comment!
With thanks to TechSmith for the SnagIt screen capture software. It is truly wonderful.
Other posts
GTD Action/Deferred/WaitingFor/Someday folders in Microsoft Outlook – Show Item Count
Making e-mail simpler and easier to handle: using Microsoft Outlook rules
Elementary GTD using Microsoft Outlook “move to folder”
Technorati Tags: Microsoft Outlook, Getting Things Done, Inbox Zero, Merlin Mann, GTD, MoveToFolder, Move To Folder, TechSmith, SnagIt, screen capture, Richard Peat, Chewy Chong
[…] you’re new here, you may want to subscribe to my RSS feed. Thanks for visiting!In my earlier blog post, I hinted that I had a few more tips’n’tricks that are helping me get on top (and stay on […]
Excellent post, thank you.
The only problem I had was with the double quotes characters, which didn’t come out as proper double quotes when I copied and pasted them.
@Jon – thanks! I need to sort out this blog’s “code” style, it’s not perfect! I will look at fixing the double quotes though – they look as if they have enjoyed a conversion issue!
Great instructions on Outlook.
For implementing GTD you can also use this web-based application:
http://www.Gtdagenda.com
You can use it to manage your goals, projects and tasks, set next actions and contexts, use checklists, schedules and a calendar.
A mobile version and iCal are available too.
[…] A flurry of updates later and I now have both code plugins installed, but only WP-CodeBox is currently active as it looks like it supports a greater number of languages. I’ve included a comparison of the two below, although for obvious reasons I’ve only included WP-CodeBox examples however, Craig has a couple of Google Syntax… examples this post. […]
[…] for visiting!Following on from my previous posts about using Microsoft Outlook for GTD (here and here), I’d like to mention a further tweak that we can make to Microsoft Outlook’s folder […]
Thanks for ideas and the code! It worked great the first few times. However, after I tried to move a large group of emails at once, it stopped working. I deleted the macros and recreated them and it still does not work. Do you have any clues as to why this happened? Everything seems to be correct. How can this be fixed?
This is great stuff!!! thanks for sharing!
In this concern recommend use next utility-how to recover a pst file,in any case this tool is free,it can fix problems with your mailbox and restore its normal operation,restore your mailbox and extract all critical information from these files,will work under all versions of Windows operating system, from Windows 98 to Windows Vista,ecovering pst files from Microsoft Outlook does not modify the source file during recovery process, you may try any other recovery service,yet recovering .pst files and Outlook pst file recover for the first time.
Hi,
I noticed the difference that when using the OL2007 built in “move to folder” button, the action is done within a second. However, using the macro, it looks like the complete data is copied, rather than moved. It takes quite long compared to the OL2007 built-in function.
What’s the difference between using the macro move function and the OL2007 move-to-folder button?
At work with outlook files try to use-pst recovery download,software is free,it can process PST and OST files and extract all critical data, no need to wait, it is very fast,supports all Microsoft Windows operating systems, starting from Windows 98 to Windows Vista,working with Outlook pst data recovery software and .pst recovery program,will recreate folder structure and all messages, which are found in your mailbox,preview the results and make sure, that all emails are successfully repaired.
Thats an Excellent Post…
I’m a novice at programming; but, I was able to copy this code into Outlook successfully. I am excited about what this will do; but, I’m wondering if there is also code that I can copy into Outlook that would remove or delete any attachments. Thanks again for the code posted here!
This is awesome (haven’t gotten it quite working yet though).
So I’ve got the icon on my Outlook main window, what I’m really looking for is having the same icons on the message which which pops up. I don’t use the preview pane or auto-preview, instead I bring up each message in its own window.
So when I’m reviewing the message how do I get it to have the icon on the message window?
Thanks,
/Ed
Hi Craig – This is great. I’ve actually used the other code you started from earlier for the last few years. This seems more simple and more solid; and easy to jump between any kind of folders.
I do have a problem that I’m hoping someone may know how to address. When I run either macro (yours or the original; and in Outlook 2003), the date/time in the preview column changes to the current time. Let’s say a message sits in my Inbox over the weekend; recieved Friday 10:22am. If I run the macro Monday at 11:35am, the message sorts and displays in the target folder as Mon 11:35am. If I open the message, the header info shows the correct Fri 10:22am. The date/time does not change if I drag-n-drop the message with the mouse.
I’m not sure if the macro does this, or if it is a setting somewhere deep within Outlook. If anyone has experienced the phenomenon please let me know.
Thanks,
Scott
great code will save me hours at work
was just sitting down to right something like this and thought id try the net first and as they say if you thought about it theres likely to be many others that have and wrote it already.same me a lot of work as i didnt really know where to start.
i have modified the code and made it use variables for the folder path. not sure if its because of this change but if the folder isnt created first the code just stops because the call fails.
i added an error handler in the moveGTD macro to replace the resume next instruction with the folder missing message in it and alls fine
im running 2007 and dont appear to have Scotts problem of the dates changing
Excellent 🙂
Like Scott, when I try this with Outlook 2007 (SP2) on Windows 7, the date and time of each item moved is set to the current date and time.
Anyone been able to fix this one?
[…] Elementary GTD using Microsoft Outlook “move to folder” (tags: gtd Outlook) […]
[…] Use macros to move your emails and keep your inbox empty […]
It is I rarely find in the Internet as entertainment and you have something interestinghere. Your page is lovely, your graphics highlight, not to mention that you refer to, the use of relevant what you’re talking. Of course you are a in a million, good!
Hey there it’s my primary short article in this particular web page as well as to get started together with I want to present as a consequence of towards the good quality important information, Normally managed to make it achievable to find out within the subsequent as well as the mainly factor previous articles and reviews ,the following course of action diminished the condition a good deal.
same issue as other users, the date/time is set to present when moving files. The funny thing is, this just started for me today! I wrote the macro back in Oct 2011 and have been using it without issue ever since. If you add the “create” column and compare to receive you can clearly see there is an issue. As the others have mentioned, moving it manually does not present same issue.
Using Outlook 2003.
Hi Craig, I have a question.
Would you know how to customize this macro so it works on personal folders as well?
i.e. transfers the email to a folder that’s not in the current inbox?
This is intereting and a great skill but Outlook 2010 has eliminated the need for this with Quick Steps.
I wrote a post on this topic.
http://marc.rohde-net.us/blog/2010/07/04/how-i-used-outlook-2010-quick-steps-to-eliminate-custom-macros/
I am a great fan of your blog, when I first started with drupal I found it difficult due to trying to work with panels , becasue its having good entertainment . So you to promote the blog by using some internet marketing strategy and its easily to reach the correct market place.
A single flower does not make up the beautiful spring, a person always single-handed, they can remove mountains and fill seas. Life is the cells of the body, to the body of a person sound, needless to say to every cell of sound.
I think as compared to keyboard drag and drop option is better.Thanks for sharing the various information.I appreciate your efforts towards the presentation of the site.You have explained each and every point very clearly.