Flagging Items as Unread in Outlook

Strangely enough, there are enough built-in features to Outlook that allow you to flag a message object as read. However, the opposite, flagging something as unread, was very difficult for me to find. I wanted to share how I did it for a client.
Okay, first you must go into Outlook then from the Tools Menu, under Macros, go into the Visual Basic Editor.  Create a new module, and you can keep the default module name, and post this code:
Public Sub mark_unread(msg As MailItem)
Dim strid As String
Dim objmail As Outlook.MailItem
strid = msg.EntryID
Set objmail = Application.Session.GetItemFromID(strid)
‘objmail.BodyFormat = olFormatPlain
objmail.UnRead = True
objmail.Save
Set objmail = Nothing
End Sub
Save the code and exit back to Outlook. Meanwhile, go into Rules and create a new Rule with the criterion you want. When you get to the action for the rule, select that you want to run a script, and, from the script selection, select the Project1.mark_unread code. Setup your frequency and exceptions.
And you should find that the code indeed marks the message object as unread. I worked on this for about 30 minutes and thought I should share it with the world – there seems to be plenty of people out there looking for a relatively easy solution. Best wishes -
R