How to Auto Archive an Outlook Email when Assigning a Specific Color Category to It

Some users wish that Outlook can auto archive an Outlook item as soon as they assign a specific color category to it, such as “Archive” category. In this post, we will share you a method, which can take Outlook email as an example.

By default, you can only make Outlook to auto archive items on basis of the time intervals. However, in reality, many users even would like to auto archive items as per the color categories. For instance, when you apply a specific color category to an email, Outlook can archive it immediately. Though Outlook’s default functions cannot realize it, you still can use the following VBA code to achieve it with ease.

Auto Archive an Outlook Email when Assigning a Specific Color Category to It

Auto Archive an Email when Assigning a Specific Color Category to It

  1. At the very outset, start your Outlook program.
  2. In the subsequent Outlook main screen, press “Alt + F11” keys.
  3. Then you will access the VBA editor, in which you need to find and open the “ThisOutlookSession” project.
  4. Next you could copy the following VBA code into this project window.
Public WithEvents objInspectors As Outlook.Inspectors
Public WithEvents objExplorer As Outlook.Explorer
Public WithEvents objMail As Outlook.MailItem

Private Sub Application_Startup()
    Set objInspectors = Outlook.Application.Inspectors
    Set objExplorer = Outlook.Application.ActiveExplorer
End Sub

Private Sub objInspectors_NewInspector(ByVal Inspector As Inspector)
    If Inspector.CurrentItem.Class = olMail Then
       Set objMail = Inspector.CurrentItem
    End If
End Sub

Private Sub objExplorer_SelectionChange()
    On Error Resume Next
    If objExplorer.Selection.Item(1).Class = olMail Then
       Set objMail = objExplorer.Selection.Item(1)
    End If
End Sub

Private Sub objMail_PropertyChange(ByVal Name As String)
    Dim objCurrentFolder As Outlook.Folder
    Dim objArchivePSTFile As Outlook.Folder
    Dim objArchiveFolder As Outlook.Folder

    If Name = "Categories" Then
       'If "Archive" Catgeory Is Assigned to This Email
       If InStr(objMail.Categories, "Archive") Then
          Set objCurrentFolder = objMail.parent
          'Open the specific Archive Outlook PST File in Your Outlook
          Application.Session.AddStore "C:\Users\Test\Documents\Outlook Files\Archive.pst"
          Set objArchivePSTFile = Application.Session.folders("Archives")
          On Error Resume Next
          Set objArchiveFolder = objArchivePSTFile.folders(objCurrentFolder.Name)
          If objArchiveFolder Is Nothing Then
             Set objArchiveFolder = objArchivePSTFile.folders.Add(objCurrentFolder.Name)
          End If
          'Archive This Email
          objMail.Move objArchiveFolder
          'Remove the Archive PST File from Your Outlook
          Application.Session.RemoveStore objArchivePSTFile
       End If
    End If
End Sub

VBA Code - Auto Archive an Outlook Email when Assigning a Specific Color Category to It

  1. After that, you should sign this code.
  2. Next change your Outlook macro security settings to ensure signed macros are permitted.
  3. Finally you ought to restart your Outlook to activate this new macro.
  4. Since then, every time you assign the specific color category, like the “Archive” predefined in the above code, to an Outlook email, it will get archived to your preset Archive Outlook PST file.

Rescue Your PST Data after Crashes

To be honest, no program is powerful enough to avoid errors or crash. The same holds true for Outlook application. Therefore, for Outlook regular users, it is very difficult to block Outlook corruption. The more effective precaution is to get hold of a potent PST fix utility, such as DataNumen Outlook Repair. It can come to your rescue as soon as you encounter PST damage.

Author Introduction:

Shirley Zhang is a data recovery expert in DataNumen, Inc., which is the world leader in data recovery technologies, including sql recovery and outlook repair software products. For more information visit

Leave a Reply

Your email address will not be published. Required fields are marked *