A user wanted to know how to mark messages they had responded to. One method is flagging the items complete.
Another is to add a custom field to add check boxes to the row so that you can mark the messages. Then you can use automatic formatting and filters to show or hide the marked messages.
You can even create a custom text field and write notes about the message.
To create a custom field:
- Open the View Settings dialog from the View ribbon. In Outlook 2007 and older, its Customize view and you can right click on the header row above the message list and choose Custom or Customize View (Outlook 2007 and older) from the bottom of the menu.
- Click Columns to open the Show Columns dialog.
- Click New Column button.
- Create a custom field of the Yes/No type and add it to the view.
- Click Other Settings.
- Enable in-cell editing so you can check (or uncheck) it to mark an item.
- Return to Outlook.
- Click in the column you just added to mark a message
Note: The actual checkbox may not be visible in the column until you click it.
In Outlook 2010 and newer, you need to turn off Show as Conversation on View tab. When Show as conversation is checked, the field won't work when there is only 1 message in a conversation.
Create a notes field for messages
To create a field so you can add notes to the messages, you need to create a Text field and enable in-cell editing. Use the same steps as above, choosing the Text field type instead.
The following video tutorial shows how to create a custom field in Outlook 2010 and newer.
Use a Macro to add a Notes Field
This macro brings up an Inputbox for you type the note in then adds it to the selected message. If the field already exists, the contents are shown in the inputbox, so you can edit it or type over it to replace.
Public Sub EditField() Dim obj As Object Dim objProp As Outlook.UserProperty Dim strNote As String, strCurrent As String Set obj = Application.ActiveExplorer.Selection.Item(1) On Error Resume Next Set UserProp = obj.UserProperties.Find("MyNotes") If Not UserProp Is Nothing Then strCurrent = obj.UserProperties("MyNotes").Value End If Debug.Print strCurrent strNote = InputBox("Current Value: " & strCurrent, "Edit the Notes field", strCurrent) Set objProp = obj.UserProperties.Add("MyNotes", olText, True) objProp.Value = strNote obj.Save Err.Clear Set obj = Nothing End Sub
Macro to View the custom field value
To view a field in a message box, use this macro, changing the field name to your custom field name.
Public Sub EditField() Dim obj As Object Dim strCurrent As String Set obj = Application.ActiveExplorer.Selection.Item(1) On Error Resume Next Set UserProp = obj.UserProperties.Find("MyNotes") If Not UserProp Is Nothing Then strCurrent = obj.UserProperties("MyNotes").Value MsgBox strCurrent Else MsgBox "Field not found" End If Set obj = Nothing End Sub
How to use the Macro
First: You will need macro security set to low during testing.
To check your macro security in Outlook 2010 or 2013, go to File, Options, Trust Center and open Trust Center Settings, and change the Macro Settings. In Outlook 2007 and older, it’s at Tools, Macro Security. If Outlook tells you it needs to be restarted, close and reopen Outlook. Note: after you test the macro and see that it works, you can either leave macro security set to low or sign the macro.
Now open the VBA Editor by pressing Alt+F11 on your keyboard.
To put the code in a module:
- Right click on Project1 and choose Insert > Module
- Copy and paste the macro into the new module.
More information as well as screenshots are at How to use the VBA Editor.
More Information
Because of the way Outlook 2010 and Outlook 2013 handle Conversation group headers, you need to turn off Show as Conversation on View tab to use in-cell editing. When Show as conversation is checked, the custom field won’t work when there is only one message in a conversation.
Can we do this for all users from exchang eadmin?
Hi Diane,
in my Outlook I have a column where I put an individual ID number next to an email (123 on the example attached). When I forward this email to the customer and he forwards it back to me, it appears in inbox already with the given ID. But when somebody replies to the email this ID is gone.
Is there any special type of column that I have to use, so the ID sticks to the email?
Thanks a lot in advance for your support!
Greetings,
Jan
Hi Diane,
Is there a way to have replies/forwards automatically apply the custom (UDF) fields already created?
Regards
You would need to use a macro that runs when you hit reply and checks for the UDF.
This is a reply macro - VBA Sample: Do Something When Reply is Clicked (slipstick.com) - you just need to grab the udf and add it to the reply.
Is there any way to insert a custom field to personalize e-mails. For example, add a company name from the Contact Card, as in: Mr. Jones, I know it's been a tough year for Exxon...." Where the company name varies with the contact??
You cn use the company name and mail merge.
Excellent. Would it be possible to fill a custom field automatically by applying a rule?
Possibly. Using a run a script rule and an array. You'd need to have something to search on and if found, then add a value to the field.
Hi Diane,
Can it be that after moving the email with clearcontext the data in the comment column is gone?
Kind regards,
Paul
Hi Diane, the custom columns works very well. Is the there any way that after creating it, one can add a drop-down menu with options for frequently used fields? Or alternatively, have an option similar to the Categorize option, that you can access and assign?
No, the custom field in the view does not support dropdowns/selectors. Sorry.
Thank you for the reply.
great and easy advice to create user defined fields - Thank you!
Unfortunately when i move the email to a folder, the UDF content disappears. If i type it in again it shows but as soon as i press enter it disappears again. Please help.
thank you
Margaret
The field and contents should stay on the item, but you need to add the field to the folder to see it. Use the macro to add a notes field (changing the field name in it) to display the field value after you move the item - does it contain the expected value?
You can remove the inputbox line and the lines that follow - replace it with
msgbox strCurrent