Этот вопрос немного стар, но для кого-то, кто может искать тот же ответ ...
Попробуйте нижеприведенную попытку:
Public Sub DeleteAllCategories()
'Assume gOutlookApp (as in Dim gOutlookApp As Outlook.Application) is valid
Dim objCategory As Outlook.Category 'Changed from Outlook.Categories
Dim strCAT As String
On Error GoTo MyErrorHandler
For Each objCategory In Session.Categories 'Removed the gOutlookApp
strCAT = objCategory
Debug.Print strCAT;
Session.Categories.Remove (strCAT)
Debug.Print " - Deleted: " & CBool(Session.Categories.Item(strCAT) Is Nothing)
Next
Exit Sub
MyErrorHandler:
MsgBox "DeleteAllCategories" & vbCrLf & vbCrLf & "Err = " & Err.Number & vbCrLf & "Description: " & Err.Description
End Sub