Sometimes, you have time to check something off your to-do list, but no one task is particularly pressing. Reader Ricardo shows us how to make Outlook pick a random one for you, so you can skip the decision-making and get to work.
Ricardo liked the idea of previously mentioned To→done, which picks a random to-do item for you to act on. He didn't want to manage all his to-dos in a separate system, though, so he wrote a macro for Outlook that picks a random item from your task list for you to work on. It will even mark the task as completed in your list if you so choose.
Note that Ricardo's original script, available on his blog, originally displayed a random post from Fail Blog if you chose not to do that task. I removed this from the script mainly because it made it too complicated for people to set up, and because I foresaw a lot of people wanting to remove it anyway for productivity reasons (although it sure is funny).
In Office 2010, you'll need to enable the Developer tab to create macros. To do this, click the Office logo button next to the Home tab and choose options. Hit "Customize the Ribbon" and check the "Developer" section in the right hand pane of the window that shows up. Hit OK and then you should have a Developer tab available which will allow you to create macros.
Create a new one by either going to Tools >Macro > Macros (or going to the Developer tab and hitting Macros, if you're running Outlook 2010) and paste the following code in the Visual Basic Editor:
'Generic stuff necessary for Outlook Macros.
Set objOutlook = CreateObject("Outlook.Application")
Set objNamespace = objOutlook.GetNamespace("MAPI")
'Selects incomplete tasks from your default tasks folder
Set objFolder = objNamespace.GetDefaultFolder(olFolderTasks)
Set colItems = objFolder.Items
strFilter = "[Complete]= FALSE"
Set coltasks = colItems.Restrict(strFilter)
Dim n As Integer
'Picks a random task for the user, and asks for feedback on task completion
n = Int((coltasks.count) * Rnd + 1)
Answer = MsgBox("Do this task: " & coltasks(n).Subject & vbCrLf & vbCrLf & "RIGHT NOW!", vbQuestion + vbYesNo, "???")
If Answer = vbNo Then
'Code for No
MsgBox "Is this task no longer important to you? Take it off your list! (or pick another random task)."
'Code for Yes
MsgBox "Task marked as completed. Now get it done!"
This way, if you like the quirky method of To→done for finishing non-urgent tasks, you can integrate it into your existing system instead of dealing with a second to-do list (or giving up your original, more full featured one). Hit the link if you'd like the original script, complete with Fail Blog posts, and let us know how the random assignment method of getting things done works for you.
Random Task in Outlook [Office for Lazy People]