| 
OLKeeper
 | 
| OLKeeper reliably prevents users from closing their Outlook window and thus possibly missing reminders or e-mails. | 
In this sample a category will be assigned to a task item as soon as it is marked completed.
Private WithEvents Items As Outlook.Items
Private Sub Application_Startup()
  Dim Ns As Outlook.NameSpace
  Set Ns = Application.GetNamespace("MAPI")
  Set Items = Ns.GetDefaultFolder(olFolderTasks).Items
End Sub
Private Sub Items_ItemChange(ByVal Item As Object)
  On Error Resume Next
  Dim Task As Outlook.TaskItem
  Const CategoryName As String = "(Complete)"
  If TypeOf Item Is Outlook.TaskItem Then
    Set Task = Item
    If Task.Status = olTaskComplete Then
      If LCase$(Task.Categories) <> LCase$(CategoryName) Then
        Task.Categories = CategoryName
        Task.Save
      End If
    End If
  End If
End Sub