After you delete a color category, it will still display in the Outlook items, which you have assigned the category to. This post will teach you how to quickly remove such color categories from Outlook items.
Outlook permits users to add and delete color categories at will. However, though you delete a color category, if you have assigned it to many Outlook items before, this color category will not be removed from the items accordingly. Now that you have deleted this color category, which means that it is useless, why not remove it from the Outlook items as well? Now, in the followings, we’ll teach you a quick method to realize it.
Batch Remove Deleted Color Categories from All Outlook Items
- At the very outset, start your Outlook application as usual.
- Then, after accessing the main Outlook window, you can press the “Alt + F11” key buttons, which will bring up the “Microsoft Visual Basic for Applications” window.
- In the new screen, you need to find and open an unused module.
- Next, copy the following VBA code into this module.
Dim objSourceStore As Outlook.Store Dim strMasterCategoryList As String Sub DeleteAllColorCategories_ThatAreNotInMasterCategoryList() Dim objSourcePSTFile As Outlook.Folder Dim objFolder As Outlook.Folder 'Specify the source Outlook PST file Set objSourceStore = Application.Session.Stores.Item("John Smith") 'Get all color categories of this PST file For Each objCategory In objSourceStore.Categories strMasterCategoryList = objCategory.Name & ", " & strMasterCategoryList Next Set objSourcePSTFile = Outlook.Application.Session.folders("John Smith") For Each objFolder In objSourcePSTFile.folders Call ProcessFolders(objFolder) Next End Sub Sub ProcessFolders(ByVal objCurrentFolder As Outlook.Folder) Dim objVariant As Variant Dim strCategories As String Dim varArray As Variant Dim i, n As Long For i = objCurrentFolder.Items.count To 1 Step -1 Set objVariant = objCurrentFolder.Items.Item(i) If objVariant.Categories <> "" Then strCategories = objVariant.Categories 'Get all color categories of this item varArray = Split(objVariant.Categories, ",") For n = 0 To UBound(varArray) 'Check if each color category of this item is in master category list If InStr(1, strMasterCategoryList, Trim(varArray(n))) = 0 Then 'If not, remove this category Call RemoveCategory(objVariant, varArray(n)) objVariant.Save End If Next n End If Next i 'Process all subfolders recursively If objCurrentFolder.folders.count > 0 Then For Each objSubfolder In objCurrentFolder.folders Call ProcessFolders(objSubfolder) Next End If End Sub Sub RemoveCategory(objCurrentItem, strCategory) Dim varNewArray As Variant varNewArray = Split(objCurrentItem.Categories, ",") If UBound(varNewArray) >= 0 Then For i = 0 To UBound(varNewArray) 'Find the specific color category If Trim(varNewArray(i)) = strCategory Then 'Delete it from this item varNewArray(i) = "" 'Rebuild the color categories of this item objCurrentItem.Categories = Join(varNewArray, ",") Exit Sub End If Next End If End Sub
- After that, you should change your Outlook macro security level to low.
- Eventually, you can run this macro. Just press F5 key in this macro screen or click the “Run” icon in the toolbar.
- After the macro finishes running, you’ll see that all the color categories which are have been deleted have been removed from Outlook items.
Outlook Is Prone to Corruption
If you are a regular user of Outlook, maybe you’ve encountered a variety of issues in your Outlook. In general, to fix the small errors involving PST file, you can just recur to the inbuilt fix utility – Scanpst. But, if you suffer serious troubles, such as severely compromised PST file, you have no choice but to take aid of an external potent tool, like DataNumen Outlook Repair.
Shirley Zhang is a data recovery expert in DataNumen, Inc., which is the world leader in data recovery technologies, including corrupted mdf and outlook repair software products. For more information visit www.datanumen.com