See how many times an Email has been opened/viewed in Microsoft Outlook

Recently one of my friends asked whether it is possible to add such a counter.

"Yes, of course. Why not?", I replied.

So today let’s see how we can add a counter for email opened/viewed. The counter will increment everytime you open any email in email window and in the preview pane.

We will add a user defined field. We will name it "Read Count" for this demo here. Then use this field to store our value.

  1. Right-click anywhere in the header area and select "Field Chooser" from the popup menu.
  2. In the Field Chooser dialog box, select "User-defined fields in Inbox" from the dropdown combobox. Then click "New…" button.
  3. In the New Field dialog box that comes up, type "Read Count" (without quotes) in the Name field and select Type as "Integer". Click OK to save and close the box.
  4. You should now see a new field named Read Count in the Field Chooser box.
  5. Drag that field to your header area and drop it there. The new column should get added.

See screenshots below in case you have difficulty comprehending anything written above.

So now we have the new field there and will proceed to setting its value when any mail item is opened. For this, open the VBA Editor from Tools > Macros > Visual Basic Editor. Or you may simply press Alt+F11 key combination.

In the VBA Editor window, expand Microsoft Office Outlook Objects > ThisOutlookSession.

Paste the following code there:

Option Explicit
Private WithEvents MyMailItem As MailItem

Private Sub Application_ItemLoad(ByVal Item As Object)
    If TypeOf Item Is MailItem Then Set MyMailItem = Item
End Sub

Private Sub MyMailItem_Open(Cancel As Boolean)
    IncrementViewedCount
End Sub

Private Sub MyMailItem_Read()
    '-- comment out the following line if you have preview pane turned off
    '-- or you don’t want to increment count for emails opened in preview pane
    IncrementViewedCount
End Sub

Private Sub IncrementViewedCount()
    On Error GoTo ErrH
    If MyMailItem.UserProperties("Read Count") Is Nothing Then
        MyMailItem.UserProperties.Add "Read Count", olInteger, False
    End If
    MyMailItem.UserProperties("Read Count").Value = MyMailItem.UserProperties("Read Count").Value + 1
    MyMailItem.Save
    Exit Sub
ErrH:
    MsgBox Err.Number & Err.Description
End Sub

Save everything and restart outlook. If it asks for confirmation about macros, choose to enable them.

Now whenever you open any email, you should see the Read Count increasing.

Enjoy!

Advertisements

3 Responses to “See how many times an Email has been opened/viewed in Microsoft Outlook”

  1. Nancy Says:

    I have right clicked on the header everywhere and do not find a “field chooser” option

  2. http://opcionesbinariasespana.tumblr.com Says:

    I think that what you wrote was very logical. But, think on this,
    what if you were to write a awesome post title? I mean, I don’t want to tell you how to run your blog, however suppose you added a headline that makes people desire more? I mean See how many times an Email has been opened/viewed in Microsoft Outlook | Pradeep1210’s Blog is a little plain.
    You could glance at Yahoo’s front page and note how they write article headlines to grab people to click. You might add a video or a related picture or two to grab readers excited about what you’ve written.
    In my opinion, it would bring your posts a little livelier.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: