How to NOT Auto Mark Email as Read until Flagging or Color Categorizing It in Outlook

Some users would like to not auto mark the new incoming emails as read until they flag or categorize them by color in their Outlook. So in this article, we will teach a method to get it in quick time via Outlook VBA.

Outlook has a native feature for auto marking emails as read depending on the concrete seconds of your viewing the emails in the reading pane or based on the changes of email selection. It’s indeed helpful. Nevertheless, some users still want another choice – keeping emails as unread until flagged or color categorized. It is obvious that Outlook doesn’t provide such a function. Therefore, if you would like to achieve it, you can resort to the following means, which will guide you to use Outlook VBA to get it.

NOT Auto Mark Email as Read until Flagging or Color Categorizing It

NOT Auto Mark Email as Read until Flagging or Color Categorizing It

  1. In the first place, start your Outlook application.
  2. Then you should head to “View” tab.
  3. Under this tab, find and click on the “Reading Pane”, and then select “Options” from the drop down list.Reading Pane Options
  4. Next in the popup dialog box, you need to ensure that the first two options are deselected and click “OK” to save the changes.Deselect the the first two reading pane options
  5. Subsequently, press “Alt + F11” key shortcuts.
  6. Then in the VBA editor window, open the “ThisOutlookSession” project.
  7. Next, you need to copy and paste the following VBA codes into it.
Public WithEvents objInboxItems As Outlook.Items
Public WithEvents objExplorer As Outlook.Explorer
Public WithEvents objInboxMail As Outlook.MailItem

Private Sub Application_Startup()
    Set objInboxItems = Outlook.Application.Session.GetDefaultFolder(olFolderInbox).Items
    Set objExplorer = Outlook.Application.ActiveExplorer
End Sub

Private Sub objInboxItems_ItemChange(ByVal Item As Object)
    'Mark email as read when it is color categorized or flagged
    If (Item.Categories <> "") Or (Item.IsMarkedAsTask = True) Then
       Item.UnRead = False
    End If
End Sub

Private Sub objExplorer_SelectionChange()
    On Error Resume Next
    Set objInboxMail = objExplorer.Selection.Item(1)
End Sub

'Outlook will still auto mark the emails as read when you open, reply or forward the emails
'So the following lines are aimed to keep them as unread even you open, reply or forward them
Private Sub objInboxMail_Open(Cancel As Boolean)
    objInboxMail.UnRead = True
End Sub

Private Sub objInboxMail_Forward(ByVal Forward As Object, Cancel As Boolean)
    objInboxMail.UnRead = True
End Sub

Private Sub objInboxMail_Reply(ByVal Response As Object, Cancel As Boolean)
    objInboxMail.UnRead = True
End Sub

Private Sub objInboxMail_ReplyAll(ByVal Response As Object, Cancel As Boolean)
    objInboxMail.UnRead = True
End Sub

VBA Codes - NOT Auto Mark Email as Read until Flagging or Color Categorizing It

  1. After that, you ought to sign this code.
  2. Later change Outlook macro security settings to enable the digitally signed macros.
  3. Finally you can restart your Outlook to activate the new VBA project. From now on, Outlook will keep the new incoming emails as read unless you flag or categorize them.

Respond to Outlook’s Vulnerability

As Outlook is susceptible to errors and corruptions, you should make a lot of precautions to avoid Outlook data loss. For example, you ought to back up your Outlook data on a regular basis. Moreover, in order to fix Outlook in time, you had better prepare a robust repair tool, such as DataNumen Outlook Repair. Last but not least, pay attention to your daily behaviors in Outlook.

Author Introduction:

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

Comments are closed.