Tuesday, May 25, 2010

Outlook: clear task due dates

I really like Outlooks 2007's task list features. However, I have some resistance to being told to do things "TODAY, like RIGHT NOW!!! SEE??? I put the task in RED in your task list!! Now you MUST do it!!"

Yeah, that? Not my favorite part.

So, I wrote a macro to adjust the dates in Outlook, so they don't turn red automatically.




Sub BlankDueDates()
On Error Resume Next
Dim ns As NameSpace
Dim fld As Folder
Dim task As TaskItem
Dim items As Outlook.items
Dim rest As Outlook.items
Dim filterSQL As String
Dim i As Integer
i = 0
Set ns = Application.GetNamespace("MAPI")
Set fld = ns.GetDefaultFolder(olFolderTasks)
Set items = fld.items
Set rest = items.Restrict("[Status] <> 'Completed'")
For Each task In rest
If task.DueDate <> "1/1/4501" Then
task.DueDate = "1/1/4501"
task.Save
End If
i = i + 1
Next

For Each task In rest
If task.Importance <> olImportanceNormal Then
task.Importance = olImportanceNormal
task.Save
End If
Next
MsgBox ("Done")

Set ns = Nothing
Set fld = Nothing
Set task = Nothing
Set items = Nothing
Set rest = Nothing

End Sub