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.






Doit says
Can we do this for all users from exchang eadmin?
Jan says
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
Sunny says
Hi Diane,
Is there a way to have replies/forwards automatically apply the custom (UDF) fields already created?
Regards
Diane Poremsky says
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.
Fred Richmond says
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??
Diane Poremsky says
You cn use the company name and mail merge.
Martin says
Excellent. Would it be possible to fill a custom field automatically by applying a rule?
Diane Poremsky says
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.
Paul says
Hi Diane,
Can it be that after moving the email with clearcontext the data in the comment column is gone?
Kind regards,
Paul
Dawie Marais says
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?
Diane Poremsky says
No, the custom field in the view does not support dropdowns/selectors. Sorry.
Dawie Marais says
Thank you for the reply.
Margaret Farquharson says
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
Diane Poremsky says
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
Thomas Dessers says
Very helpful article Diane!
Do you have a version of the macro for Outlook 2016?
Thank you!
Diane Poremsky says
This macro works in Outlook 2016/2019 as written. Follow the steps for 2013 - the interface is identical.
Jess says
I followed the directions, however the emails are deleted when I click on the box. Can this be changed?
Diane Poremsky says
Are you using the code as it appears above? There is nothing in the code above that would delete the message.
Ethel Wong says
Hi, can any help to edit the above "Use a Macro to add a Notes Field" to apply to all Selected Message add the same value. not only apply to the first message. many thanks
Diane Poremsky says
The macros are https://www.slipstick.com/developer/code-samples/working-items-folder-selected-items/ show how to work with all items in a folder or only selected items.
Basically, copy the Dim statements and replace the with obj /end with with the code in the macro above.
Public Sub EditField()Dim obj As Object
Dim objProp As Outlook.UserProperty
Dim strNote As String, strAcct As String, strCurrent As String
Dim propertyAccessor As Outlook.propertyAccessor
Dim Session As Outlook.NameSpace
Dim currentExplorer As Explorer
Dim Selection As Selection
Dim obj As Object
Set currentExplorer = Application.ActiveExplorer
Set Selection = currentExplorer.Selection
For Each obj In Selection
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
Next
Set Session = Nothing
Set currentExplorer = Nothing
Set obj = Nothing
Set Selection = Nothing
End Sub
Diane Poremsky says
That macro is unreadable. :) Attached is a text file with the macro in it.
Ethel Wong says
Many many thanks. Million thanks.
William Bach says
This is awesome. I love the notes field, and have wanted something like this for a long time. I should have found this sooner! You say you need to turn off Show as Conversations to add notes to a 1 message conversation. I live by Conversation View. A better alternative is to keep Show as Conversations turned on, and simply sort by a column other than Received. So if you are on a 1 message conversation, click the top of your notes field, to sort by that, which takes it out of conversation mode. The message you want to edit will still be highlighted. Add you comments, then click the header for Received, and it will go back into Converation Mode, and you will still have your comments on that message.
Stephen McHugh says
Great article, thank you Diane.
We have 5 people accessing shared mailbox but only the person who creates the new YES/NO custom field can see it and use it.
I can see from previous comments below that you have suggested the same fields be set up on the other users outlook programs but this doesn't work.... presumably because each time you're setting up a 'new' bespoke YES/NO field and the server doesn't know they're all wanting the same data.
How do we set up other PC/Outlooks to list the new fields and also to update if the YES/NO has been toggled?
Incidentally, when I create the same "new field" on a second/third/fourth computer, I would expect to see the new field as an available once the original person had created it... but it doesn't seem to be listed on the available fields...
Many thanks in advance
Diane Poremsky says
>> you have suggested the same fields be set up on the other users outlook programs
I don't remember saying that (and have not reviewed the comments to see what i meant) - but if I did, its wrong or not what I meant. If two people create the same field, the names will be field, field1, field2 etc. assuming outlook lets them create the fields - it should complain that the name exists.
The fields sync with the items but it can take 15 min or so for these things to sync.. Views will sync too, and should be for 'this folder available to everyone' views.
Hopefully the first screenshot won't be too confusing. It is from "lois lane" profile. Bo created a field and a view - lois can change the field and created one of her own. If she wants to create a new view, all of the fields not yet used in that view will be listed in the field chooser, under user-defined fields in [folder]. (The field chooser screenshot was taken before the ll-yesno field was created).
the second screenshot is from bo's computer. I needed to restart outlook to see the field and view lois created - it should have eventually synced but i was tired of waiting. :) In some cases, may need to turn off caching shared items,
Diane Poremsky says
BTW, the software switched my screenshots. The "first" one has the field chooser, the "second" one, with the Copy of B... view, is from Bo's computer.
Rajiv Ranjan says
I’m very impressed with the content on your site. Very helpful. I’ve a question, hope you can help. I’m using Microsoft Outlook Professional Plus 2010. I’ve created a quick step. Clicking it creates an appointment in my calendar with the email as an attachment. I want to view the calendar link next to the corresponding email. Is it possible to do it through “New Column” and “Formula”?
Diane Poremsky says
No, sorry. You could do it using a vba macro - the macro would need to replicate the quick step then get the appointment's entry id to add it to a custom field.
Helen says
Hi Diane
I have added a custom, editable text field in my outlook inbox, I would like to see this field when I look in my Task List for any emails I have flagged for followup - is this possible?. It doesn't appear under any drop down as a choosable field when I am in the task list view
Diane Poremsky says
If the field was in a form (or a CFG), you could add it, but you can't add folder fields. (I don't think you can create CFG files for custom fields, but if you could that would be the way to go.)
Diane Poremsky says
i was able to add a custom field to a CFG, but its not displaying the data. :( Not sure if its a user error or it doesn't support custom fields.
https://www.slipstick.com/exchange/adding-extended-mapi-fields-to-outlook/
Mário Santos says
Hello Diane,
Would there be any way to add a hyperlink (that could be followed) on a Outlook custom field?
Thank you!
Kind regards,
Mário Santos
Diane Poremsky says
AFAIK< only with code behind it - http://www.outlookcode.com/d/tips/formhyperlink.htm
David says
Hi Diane, great reading. If I missed this somewhere in the comments please accept my apologies. Is there anyway you know of to use a custom filed in Outlook 2016 that will display the name of the attachment file?
Diane Poremsky says
You could do it using a macro - you'd use the basic macro at https://www.slipstick.com/outlook/email/sort-messages-sender-domain/ and look for the attachnemt name - if you have more than one attachment, the names would be entered as name;name2;name3.
This would get the attachment names, skipping most signature images - then write it to the field.
Dim oAtt As Attachment
Dim strAtt As String
strAtt = ""
For Each oAtt In objMail.Attachments
If oAtt.Size > 5200 Then
strAtt = strAtt & "; "
End If
Next oAtt
dorak says
Hi Diane,
could you please guide me how to do same to several selected emails into the same folder?
Diane Poremsky says
For the notes custom field example?
Samples are at https://www.slipstick.com/developer/code-samples/working-items-folder-selected-items/ - it actually merges together pertty good, as both use obj as the variabloe name for the current message.
this should work (i didn't test it though).
Public Sub DoSomethingSelection() Dim Session As Outlook.NameSpace Dim currentExplorer As Explorer Dim Selection As Selection Dim objProp As Outlook.UserProperty Dim strNote As String, strAcct As String, strCurrent As String Dim propertyAccessor As Outlook.propertyAccessor Dim obj As Object Set currentExplorer = Application.ActiveExplorer Set Selection = currentExplorer.Selection For Each obj In Selection With obj On Error Resume Next Set UserProp = obj.UserProperties.Find("Index") If Not UserProp Is Nothing Then strCurrent = obj.UserProperties("Index").Value End If Debug.Print strCurrent strNote = InputBox("Current Value: " & strCurrent, "Edit the Notes field", strCurrent) Set objProp = obj.UserProperties.Add("Index", olText, True) objProp.Value = strNote obj.Save Err.Clear End With Next Set Session = Nothing Set currentExplorer = Nothing Set obj = Nothing Set Selection = Nothing End Subdorak says
Thank you Diane but it does not work!
please also note that i'm using a custom form and my custom field i want to change for selected emails is called "PERSON to do"
Thank you in advance for your help
Diane Poremsky says
what happened when you tried it? Did you change the field name to the name you are using?
Set UserProp = obj.UserProperties.Find("your field name")
If Not UserProp Is Nothing Then
strCurrent = obj.UserProperties("your field name").Value
End If
Debug.Print strCurrent
strNote = InputBox("Current Value: " & strCurrent, "Edit the Notes field", strCurrent)
Set objProp = obj.UserProperties.Add("your field name", olText, True)
dorak says
as I thought that maybe the problem was caused by my field's name so i've tried-as test-another field named "PERSON".
STILL receiving the message:
" to help prevent malicious code from running one or more objects in this form were not loaded"
my code is as foll:
Public Sub DoSomethingSelectionNEWperson()
Dim Session As Outlook.NameSpace
Dim currentExplorer As Explorer
Dim Selection As Selection
Dim objProp As Outlook.UserProperty
Dim strPERSON to do As String, strAcct As String, strCurrent As String
Dim propertyAccessor As Outlook.propertyAccessor
Dim obj As Object
Set currentExplorer = Application.ActiveExplorer
Set Selection = currentExplorer.Selection
For Each obj In Selection
With obj
On Error Resume Next
Set UserProp = obj.UserProperties.Find("Index")
If Not UserProp Is Nothing Then
strCurrent = obj.UserProperties("Index").Value
End If
Debug.Print strCurrent
strPERSON = InputBox("Current Value: " & strCurrent, "Edit the PERSON field", strCurrent)
Set objProp = obj.UserProperties.Add("Index", olText, True)
objProp.Value = strPERSON
obj.Save
Err.Clear
End With
Next
Set Session = Nothing
Set currentExplorer = Nothing
Set obj = Nothing
Set Selection = Nothing
End Sub
-----------------------------------
Diane Poremsky says
This: "to help prevent malicious code from running one or more objects in this form were not loaded"
is likely due to the security bug introduced in June and fixed in the august update. Make sure all updates are installed.
dorak says
Hi again Diane,
After i've received your suggestions, i've changed the code as foll:
Public Sub DoSomethingSelectionNEWpersonTEST()
Dim Session As Outlook.NameSpace
Dim currentExplorer As Explorer
Dim Selection As Selection
Dim objProp As Outlook.UserProperty
Dim strPERSON As String, strAcct As String, strCurrent As String
Dim propertyAccessor As Outlook.propertyAccessor
Dim obj As Object
Set currentExplorer = Application.ActiveExplorer
Set Selection = currentExplorer.Selection
For Each obj In Selection
With obj
On Error Resume Next
Set UserProp = obj.UserProperties.Find("PERSON")
If Not UserProp Is Nothing Then
strCurrent = obj.UserProperties("PERSON").Value
End If
Debug.Print strCurrent
strPERSON = InputBox("Current Value: " & strCurrent, "Edit the PERSON field", strCurrent)
Set objProp = obj.UserProperties.Add("PERSON", olText, True)
objProp.Value = strPERSON
obj.Save
Err.Clear
End With
Next
Set Session = Nothing
Set currentExplorer = Nothing
Set obj = Nothing
Set Selection = Nothing
End Sub
--------------------
Above code works fine but only for the first one of selected messages.
For the next ones, i have to write again -so, I'm afraid there is no use.
Any other suggestions please?
Diane Poremsky says
>> For the next ones, i have to write again -so, I'm afraid there is no use.
Not sure what you mean by this... but if you want the value in the inputbox added to each entry in the selection, move it out of the loop
strPERSON = InputBox("Current Value: " & strCurrent, "Edit the PERSON field", strCurrent)
For Each obj In Selection
With obj
............
dorak says
Hi Diane,
what do you mean by "move it out of the loop"?
could you please tell me how exactly should be my code?
thank you in advance
Diane Poremsky says
Copy then delete the strPERSON = InputBox("Current Value: " & strCurrent, "Edit the PERSON field", strCurrent) line and move it ahead of the For Each line:
-- snip--
strPERSON = InputBox("Current Value: " & strCurrent, "Edit the PERSON field", strCurrent)
For Each obj In Selection
With obj
-- snip--
This sets the value before it starts updating each item in the selection. When it's inside the For Each/Next loop, it applies to each item individually.
dorak says
hi Diane- Thank you so much.
(I had also to put "Next" after "For each Line"
Now works fine as below:
Public Sub aaDoSomethingSelectionNEWpersonTEST()
Dim Session As Outlook.NameSpace
Dim currentExplorer As Explorer
Dim Selection As Selection
Dim objProp As Outlook.UserProperty
Dim strPERSON As String, strAcct As String, strCurrent As String
Dim propertyAccessor As Outlook.propertyAccessor
Dim obj As Object
Set currentExplorer = Application.ActiveExplorer
Set Selection = currentExplorer.Selection
strPERSON = InputBox("Current Value: " & strCurrent, "Edit the PERSON field", strCurrent)
For Each Line In Selection
Next
For Each obj In Selection
With obj
On Error Resume Next
Set UserProp = obj.UserProperties.Edit("PERSON")
If Not UserProp Is Nothing Then
strCurrent = obj.UserProperties("PERSON").Value
End If
Debug.Print strCurrent
Set objProp = obj.UserProperties.Add("PERSON", olText, True)
objProp.Value = strPERSON
obj.Save
Err.Clear
End With
Next
Set Session = Nothing
Set currentExplorer = Nothing
Set obj = Nothing
Set Selection = Nothing
Nir Melamoud says
Hi, thanks for the great post, I already have a note field, and show it on the message list view,
I was wonder if there is a way to also show that field in the message detailed pane (when I click the message to see all the details I want to see the note field and be able to change it
thanks
Diane Poremsky says
No, you can't show it in the reading pane (or opened message), at least not using a simple macro. if you need to show the value, you could use a macro to bring up a message box with the value, but it wouldn't show all the time. If you are a good programmer, you could add a pane to the right that displays it all the time.
Nir Melamoud says
thanks, thats too bad,
I was looking at your macro, to open a dialog and edit (instead of in-cellediting right?)
the note, Im not sure how does it work, where do I choose in the macro the name of the field to show ? (it only look for "index" but my field name is something else)
please explain - thanks
Diane Poremsky says
You can change the word Index to anything you want (make sure you change each instance in the macro) - Note or Message is already used (for the item body) - it can be "My Notes". (I changed it in the macro - it was index because I used the code in another macro that added an index field.)
Nir Melamoud says
Thanks, thats what I thought, its working now, although adding a button to run this is a bit messy, any way to add this as an action that will run when I click (or right click) the note field itself ?
also my rename button (or right click menu item to rename) does not work, strange right ? any idea ?
Diane Poremsky says
i don't think you can on right click (unless you make an addin) or when you click on a specific field, but could use selection change or other actions- but it would get annoying if it came up all the time.
Tara says
Hi Diane,
Is there any way of "copying" the content of a user defined field to all emails in a conversation?
e.g. I have a "client" field and a "country" field which I manually populate - would save a lot of time if then all subsequent emails in the conversation were also populated.
2nd question, if I may, is whether I can use rules to populate user defined fields (e.g. if client name is in subject field, then add to user-defined "client" field).
Any help on either or both of the above would be hugely appreciated.
(Note I can't use macros due to company rules).
Thanks again for your help.
Diane Poremsky says
You can't use rules to do this and you can't populate the other messages in the thread if you can't use macros. If they will allow you to digitally signed macros, then it would be possible. (FWIW, Outlook macros are fairly safe, even unsigned ones, unlike word and excel macros that can be sent in documents and are easier to trigger.)
Peke says
Hi, thank you for a great article full of useful information.
I use the cloud to store documents and send/receive links inside the emails and since I have no attachments anymore I'm looking to have some sort of replacement for this in the sense of displaying an icon for each e-mail that contains links stored in cloud - mimicking the paperclip displayed for each email with attachments..
In order to achieve this goal I assume I have to:
1. create a custom field
2. use "something" to make it display an icon if the email has certain links - all documents stored have a common prefix, something like <https://mycloud.com/docs/
3. find a suitable icon and attach it to the above OR simply use the paperclip.
Would you say the above is possible and if yes could you suggest a way to work this through?
Thank you in advance
Diane Poremsky says
A custom Yes/No field (can display as words Yes/No, True/False or with a checkbox) is easy - you might be able to do it with a simple formula and make it a field used in views only, or use a macro to set the field. The hard part is the icon - to the best of my knowledge, you can't use icons in the view - its not supported by VBA. I'm double checking on it though. (Outlook's icons are deep in the code.)
Joseph says
Hello, great article. I have a question, we are trying to automate a database (with Access) to catalog all the messages we get. Is there a way that outlook can break apart the email to determine each field? For example:
-----OFFICIAL INFORMATION DISPATCH FOLLOWS-----
RAAUZYUW RUOISSA4835 1092102-UUUU--RUCOGMF.
ZNR UUUUU
R 192054Z APR 17 PSN 399227K32
FM CMC WASHINGTON DC
TO MARADMIN
BT
UNCLAS
MARADMIN 195/17
MSGID/GENADMIN/CMC WASHINGTON DC MRA MF//
SUBJ/HQMC SEMPER FIT (MFS) SEEKS APPLICATIONS FOR THE 2017
ALL-MARINE SKEET TEAM//
POC/J. MEDLEY/CIV/MFS/-/TEL:703-784-5779/TEL:DSN 278-5779/
TEL:FAX 703-784-4125/EMAIL:MEDLEYJ(AT)USMC-MCCS.ORG//
I would like the Fields to be (and example of the above email)
Precedence - DTG - Subject - POC
R - 192054Z APR 17 - SUBJ/HQMC SEMPER FIT (MFS) SEEKS APPLICATIONS FOR THE 2017
ALL-MARINE SKEET TEAM// - POC/J. MEDLEY/CIV/MFS/-/TEL:703-784-5779/TEL:DSN 278-5779/
TEL:FAX 703-784-4125/EMAIL:MEDLEYJ(AT)USMC-MCCS.ORG//
Sorry if this is confusing, but is it possible? The dashes represent the break in fields.
Diane Poremsky says
it is possible provided there is a pattern to search on, you can use regex to find it. As long as it can be identified or is always the same format, you can do it. For example, if PSN always follows this (or it uses the same format of letter, number/letters, 3 char month, 1 or 2 digit number): R 192054Z APR 17, regex can find it. You just need the right patterns... an example ios here: https://www.slipstick.com/developer/regex-parse-message-text/ - you'll want the second macro that gets multiple patterns.
The macro at https://www.slipstick.com/developer/vba-copy-outlook-email-excel-workbook/ shows how to grab values and push them to excel - the process would be similar using Access.
Mark Langerman says
Hi Diane,
I have been using Outlook for years and am always looking for ways to tweak it. I have searched for this topic many times and haven't seen your article before today. It is a FANTASTIC tutorial. Simple, concise and written and illustrated in language that is VERY easy to follow.
Thank you so much.
Mark
Bupendra Hutheram says
I would like to create two user defined fields in outlook. We have a shared email address that 5 people have access to. A group of people send payment vouchers into this shared mailbox so i can track the received date but want to add a "Pre-certified date" and "Certified Date" field so that by just looking at the incoming email line in the outlook mailbox i have an idea of the status of each payment voucher email in the inbox. Is this possible?
Diane Poremsky says
Yes, assuming it is Exchange server, you can do that. They will be folder fields and available to all messages in the folder. The steps at the top of the article will do it - you don't need to use a macro. Choose the date field type when adding the fields.
MattR says
We have an email account on an Exchange server with multiple users having access. Can I create User Defined Fields (and associated View) and make it so all the users see the same thing? Assuming they enable the saved View?
Thanks
Matt
PS - Diane, I think you are the most useful person on the Internet. Thank you for all you awesome tips, tricks, and help.
Diane Poremsky says
Is it a shared mailbox or a mailbox they all log into? Shared mailboxes are a bit tricker - As long as they are folder fields, it should work.
Irmina says
Hi Diane, thank you for the information, it was very helpful. I wanted to add an extra text column so that me and my colleague can leave each other remarks. I successfully created the extra column and I can add text, but my delegate (who has all the same rights to the mailbox as I have) doesn't see the messages (I created the same column there). Can you tell me what I am doing wrong? Thank you in advance.
Diane Poremsky says
Did you create a new column or add the existing column you created, to the delegates view?
Matt says
Hello,
I am running Office and Outlook 2013 at the moment. Can anyone tell me if custom columns now work in conversation view in Outlook 2016? Of is the header issue in 2010 and 2013 still present?
Thanks!
Matt
Diane Poremsky says
I'm not sure what you mean by custom columns working but nothing has changed with the view between versions, so it's safe to say that the problem still exists.
Mohamed A.Laymoun says
hello, can I modify the field subject to become not editable, after adding an editable column?
Diane Poremsky says
No. If you have in-cell editing enabled, you can't lock a column that is editable.
Stephen Gethin says
That is cool. I want to be able assign emails to particular clients, within clients to particular matters and within particular matters to tasks. The idea is that I could sort or filter for emails relating to a particular client/matter pair. This would require me to use/create a database of clients/matters in/associated withOutlook so that I could select the relevant client from a drop down list. New clients are added all the time, so the DB would need a UI to enable me to add to it (i.e. client names wouldn't be hard coded in at the start). Can I do this?
Diane Poremsky says
Yes, you can do this using a macro, but you'll need to use a userform to display the list - you can't add dropdown fields to a view and customizing the default message form is not supported. I don't have any samples that use Access DB though, sorry. You'll need to read the fields and store them in an array memory and read them into the list. (I have several samples on the site that use a text file to populate a userform - it's basically the same but you'll read access instead - https://www.slipstick.com/developer/code-samples/outlook-vbatext-file-list/.)
Shreya says
I have created a custom outlook form.I have saved it as .html.I wanted to read this html file and send mail to the customer using java mail api but only lebels are coming up for the user and textbox and dropdown are not displaying.When i saw the source code the textbox or dropdown list code is not there.Can you please help me into this issue.
Diane Poremsky says
Outlook doesn't support HTML forms and i've never used the java mail api, so I can't say what is happening - whether the problem is related to outlook not supporting HTML forms or if they are getting messed up. Users would need to open the mail using View in browser to use a form sent by email - for list reason, we usually recommend sending a link to a web page containing the form.
Jerry says
How can we export the custom fields into a csv file?
Diane Poremsky says
You would need to use VBA to send them to a CSV as you can't export custom fields (there is one utility that can do, if you don't want to write a macro). Or add all of the fields to the view then copy and paste. https://www.slipstick.com/tutorial/no-export-way-to-use-outlook-data/
Tara says
Hi Diane,
We have a custom text field, with in cell editing on. However when some people enter text, it can only be seen by some people in our group not all. The people who can't see the text, can enter it and as soon as they hit enter the text disappears from their view. However the others can still see it?
Diane Poremsky says
So they can see the field but not the values in the field? if they open the item and look at All fields pge and view custom fields, do they see the value? if so, my guess is a corrupt view.
Hemant says
Thanks, Very useful
Casey says
Hi Diane,
Thank you so much for the great tutorial!
I was able to create the custom notes column, but it won't apply to all of my folders. In order for that column to show up in other folders, I've had to go into the individual folders and change the setting. Is there a way to make this the default view for ALL of my folders without having to manually set it up in each folder?
Diane Poremsky says
You need to use a macro to add the field to the folder then set the view. Outlook 2013/2016 can apply a view to all folders - in older versions you would need to customize the default view.
Evan says
Is it possible to create a custom text field for all email messages? I would like to have a custom text field that is a copy of the Sent or Received datetime field (automatically copied using a macro or something similar). I need the custom field to be text type in order to map it (cannot use formula type).
Diane Poremsky says
Yes, you can - use either a run a script or an item add macro to get the fate from the message and write it to a field.
Evan says
Very helpful Diane. I am interested in auto-filling this custom field with either the sent or received date and time, formatted as text. Do you know if this will be possible using a macro or something similar?
Diane Poremsky says
Yes, it is possible. See https://www.slipstick.com/outlook/email/sort-messages-sender-domain/ for one example. I have a sample script that uses a rule but if you are running it on all messages as they arrive, an itemadd (or a newmailex) macro would be better. ItemAdd: https://www.slipstick.com/developer/processing-incoming-e-mails-with-macros/
Diane Poremsky says
BTW, you could use a formula field and read the date field, but they are not sortable or groupable. If you use a text field, you can sort and group and for that you need to use a macro.
sammy says
Can i enable in-cell editing for one column only? we are using a shared inbox and would like to add text notes to a custom column, however my concern is that enabling editing of cells allows any user to edit any of the cells, which my compromise the original email. any way to only allow edit for one column?
Diane Poremsky says
You can't enable it for one column only, but you could keep incell editing off and use a macro to pop up a text box then save it to the custom field.
Cindy says
I have the same issue with in-cell editing and would like to keep it off -- this macro sounds like just what I need. How can I create that?
Diane Poremsky says
The macro at https://www.slipstick.com/developer/code-samples/create-custom-numbering-field/ shows the basics of working with custom fields.
Replace the For/Next block with this:
For Each obj In Selection
strDomain = InputBox("Enter your text")
Set objProp = obj.UserProperties.Add("My Notes", olText, True)
objProp.Value = strDomain
obj.Save
Err.Clear
Next
Diane Poremsky says
BTW, if you want to edit a note and kept the original note use these lines (in this order) in place of the same ones in the code snippet.
Set objProp = obj.UserProperties.Add("My Notes", olText, True)
strDomain = InputBox("Enter your note ", , " " & objProp.Value)
Juraj says
Dear Diane,
i want to keep the in cell editing off and somehow edit the custom field (to see my notes for some of the emails in inbox). I tried the above mentioned macro, however it seems not working for me, because the field "My notes" was not editable and nothing pops up. Can you advise pls?
Diane Poremsky says
This doesn't require in cell editing-( it changes the first selected item only ).
Public Sub EditField()
Dim obj As Object
Dim objProp As Outlook.UserProperty
Dim strNote As String, strAcct As String, strCurrent As String
Dim propertyAccessor As Outlook.propertyAccessor
Set obj = Application.ActiveExplorer.Selection.Item(1)
On Error Resume Next
strNote = InputBox("Enter Note: ")
Set objProp = obj.UserProperties.Add("Index", olText, True)
objProp.Value = strNote
obj.Save
Err.Clear
Set obj = Nothing
End Sub
Egor says
Diane, thank you for macro.
But in my way:
The macro is working just for once, and if I want to change my User field again for selected mail I have an error massage. In this moment VBA highlight "oMail.Save" string.
Error massage is like "You can't do this, because the item was edited".
But! If after editing the user field after first time I select another mail and then select again the first mail the macro is working.
My code:
Public Sub test()
Dim oMail As Object
Dim oUserProp As Outlook.UserProperty
Dim myPropField, commNew As String
myPropField = "Comment"
Set oMail = Application.ActiveExplorer.Selection.Item(1)
On Error Resume Next
commNew = InputBox("Enter comment")
Set oUserProp = oMail.UserProperties.Find(myPropField)
oUserProp.Value = commNew
oMail.Save
Err.Clear
Set oMail = Nothing
End Sub
Why I have error massage when trying to use this macro at the second time? What do you think?
Than you!
Diane Poremsky says
>> But! If after editing the user field after first time I select another mail and then select again the first mail the macro is working.
This is an imap account? It's a known issue - outlook needs to sync changes back to the server before it can be edited and you need to 'refresh' it in outlook, which you do when you switch messages and come back to it.
Ryan says
I made a custom template / form through the developer tab. The problem I have is the text boxes won't let me add a hyperlink or let me paste I hyperlink in. Using outlook 10. I just won't a normal unlocked text box??
Diane Poremsky says
It should be a normal text box, although links might not be clickable in it. Right click on the text box (in the form designer) and choose properties. Is it read only? (display tab).
Maxi says
Diane is there a way I can make a custom column that will show what I have put in as the "Display As" on their contact card? I have been trying and can not get it to work.
P.S. First name, last or Company will work as well
Diane Poremsky says
You'll need to do a contact lookup - i have a macro that does this with categories, it could easily be tweaked to get the display name.
See https://www.slipstick.com/developer/categorize-messages-using-contact-category/ - replace this line:
Item.Categories = oContact.Categories
with something like this
Set objProp = Item.UserProperties.Add("Display Name", olText, True)
objProp.Value = ocontact.displayname
add this at the top with other dim's
Dim objProp As Outlook.UserProperty
Roger Dsouza says
Hi Diane, I need your help with cell edit field. When we use cell edit field we add a field who will action that email but when we try to search email = From it does also gets edited. I had raise this question earlier. Can you help. The field which I want to get edit should get edit rest all should remain the same.
Diane Poremsky says
What type of custom field did you add? Searching shouldn't change the value of the field.
Netalie says
Hi Diane, how do you search all those "note" in the new column you had created?
Diane Poremsky says
Depending on your version of Outlook, if the field is in the view, it should be searched during a basic search. (This isn't working in Outlook 2016 at this time.)
Sean says
Does anyone know how to solve this for 2016?
Diane Poremsky says
We're waiting for an update that fixes search issues - it's not something that end-users can do on their own. Sorry.
Alex Hamilton says
Hi Diane, thanks for all your input. I frequently run searches on my email so I can identify email relating to my clients and thus bill them for it. Whenever I try to customize the columns shown and add the message column it comes up blank. It would really help me to see the text of the message when I look at my search results. Suggestions?
Roger D says
Hi I want steps how to edit only one field. We work a company where three people share common email id. Just need to mark a comment who has to action that. But when we do cell edit all columns get edited. We just want only that specific column should be edited once we add that field from User defined field. While searching mails from a person search field also gets edited. Thank you if any one can assist with this
Vangie says
Hi Dianne I have created an additional column for text data in our network shared drive. everything works except when message is moved to a subfolder we cannot see the text data on the user-defined column fiel. we change permissions to all. What are we doing wrong? what do we need to do inorder the text data entered on the additional column visible to every users
Diane Poremsky says
This is a subfolder on a hard drive? Can any one see the value? (i'm wondering if the property isn't moving with the message.)
sandiorella says
Hi Diane
I used custom text fields to create additional note fields for my appointments but wanted to check that these fields are not visible to recipients that are external to my network.
Thanks!
Diane Poremsky says
no, they should not be sent in external meetings, especially if using ics to the internet. You can confirm by inviting your home address to a meeting then saving the ics to your hard drive and opening it in notepad. Do you see the custom field?
Nimish Shah says
Can one have a drop down list type of field as a new custom field which can be used during in-cell editing. (The in-built Category field works that way)
Diane Poremsky says
No, you can't create custom dropdown fields in the view.
Rebecca says
I have created an additional column for text data in a public folder. This field is only visible to me, not to the other users who have access to that folder.
Is there a way they can view it also?
Diane Poremsky says
Is it in the list of user defined fields for that folder? They'll need to add it to their own view.
Randy says
Thanks!
Randy says
Hi Diane, enjoy reading your posts. My boss is asking if there is a way in Outlook 2010 to enhance the Subject text or From person so that these fields flash on/off or in some way enhanced? Her emails seem to get lost in the long list of emails that her boss has and she is hoping there is a way to "showcase" her emails for him. Thanks!
Diane Poremsky says
No to flashing. You can use automatic formatting to highlight the messages in a color so they stand out better.
https://www.slipstick.com/tutorial/use-automatic-formatting-to-highlight-messages/
Giuseppe says
Thanks Diane, but unfortunately not working. I have managed anyway to implement a mapi field pr_creator_name which working for both existing and new messages. But I have a further problem now, I'm migrating 6 months emails from outlook 2003 to outlook 2010/2013, and when copy/pasting the emails changing the field pr_creator_name to the user who is importing messages. Do you know how to keep all email properties as they are before the importing? Many thanks in advance!
Diane Poremsky says
Try moving the mail, not copy. if they doesn't change it, then no, you can't change it.
Giuseppe says
Hello Diane,
is there a way, within a corporate email address used by various users, to create a field displaying the name of the users who sent an email,cin order the others to see who sent it? Many thanks in advance. Brgds
Diane Poremsky says
Are they opening the mailbox as a shared mailbox in their profile and using Send as? If so, add the email account field to the view - that field will contain their account name.
Kamesh says
Hello,
can an custom field added in shared mailbox, made visible to all users in outlook
Diane Poremsky says
The field would be in the view and the view can be visible to all users if they have sufficient permissions (Owner permissions). Otherwise, each person needs to create a view and add that field to it.
Hannah Rollo says
This was very helpful thank you. I wanted to create something slightly different but I am not sure if this is possible.
On the right hand side of emails in my inbox , I have the option to click the little grey flag to change it to red, and it then appears in my task list.
I would like to then click the flag again (from the email list) when I have completed the/task/responded to my email and then for a tick to appear so that I know I have dealt with the email. I know this is is possible as I have this on my work computer, when I right click it shows as mark complete.
Any help would be much appreciated as I have spent a very long time doing this
Thanks
Diane Poremsky says
When you flag messages it adds them to the To-Do list, it doesn't create a new task form, so it should be working the same way at home as it does at work. When you mark it complete, the entry on the to-do list is marked complete.
Jeff Robinson says
Diane. I just moved from Lotus Notes to Outlook 2013. I file all my incoming mail and outgoing mail in the folder related to the project I am working on. I have something like 75 project folders. In Lotus Notes, they had a field called "Who". It seemed that this listed the person who sent the eMail to me [From] in Outlook unless I was the sender in which case the Who field would show who I was sending the eMail [To]. So a combination of the Outllok [From] and [To] fields with some intelligence. This allowed me to sort all eMail in one project folder by "Who" and it would show me all eMails to and from a specific person, with enough smarts to know that if I was the sender it would put all the eMails that I sent to that person chronological order with the eMails that sent to me. Outlook doesn't have this field. I tried adding a Combination field with the following formula: IIF[From]="myemailaddress.com",[To].[From]. Two problems: 1. It always lists From so it never finds eMails from me, even though the [From] field clearly shows that it is from me. 2. I cannot sort by this column anyway.
As an Outlook guru, any thoughts? Thanks .... Jeff
Diane Poremsky says
Probably a macro - it could add the sender's name to a custom field and the recipients name for sent items. The macro at https://www.slipstick.com/outlook/email/sort-messages-sender-domain/ grabs the domain but you could use .sendername in the run a script rule.
Anne Valerie says
hello.. is there a way that the additional column created will be visible to other users of a shared mailbox?
Diane Poremsky says
Try creating a new view that has the field using 'this folder, visible to everyone'.
Dale says
Hi Diane,
Thank you for taking the time to put together this post. We are using O365, Outlook 2013 and have shared mailboxes where we would like to add columns. Does one of your books cover this topic? Maybe one of your books has other neat capabilities that most people don't use?
Regards,
Dale
Diane Poremsky says
No, my books don't cover this. The method on this page *should* work if you create the field in the shared mailbox folder. However, I know custom forms are buggy in shared mailboxes and if it's not working out well for you, it sounds like custom fields are a problem too.
Arunas says
Dear Diane,
Outlook native Priority fields does not satisfy my needs. My needs are to have full range of values from 001 to 999 to be able to sort by this field. Unfortunately, I can't find a way to use this custom field, aka "My Priority" in both - Tasks and Inbox - folders. Is it a way to do this? Or maybe you will suggest workarounds/alternatives for my needs?
Diane Poremsky says
You should be able to add it to both folders - create a custom view and add the field to the row of field name. Enable in-cell editing if you want to edit the field in the view.
regan says
How can I have one column in multiple folders. So, when I add text to a new column in my inbox, the text will stay when I move it to a folder.
Diane Poremsky says
If you add the text to a custom field, it travels with the item (assuming you are not using IMAP folders) - you just need to add the field to the view in the second folder.

I created the custom field in the inbox then moved it to a new folder and added the field to the view (I used Outlook 2010/2013 Apply view to other folders feature):
Denis says
Diane,
Thank you very much for your tutorial!!! Is there any way I can add Comments Column to multiple folders within Outlook instance?
Diane Poremsky says
In Outlook 2010 and 2013, apply the view to other folders. (It works in other versions too, but it's really easy to apply a view to all folders at once in 2010 and 2013.)
Dkuni says
Hi, we use office 365 (desktop based) and would love to do something similar for our contacts ("people"). Is there a way?
Diane Poremsky says
It works with any outlook form, so yes, you can do it. You can either add the field to the folder as shown on this page, or create a custom field on a form.
See https://www.slipstick.com/developer/designing-custom-forms/ for more information.
mshariar@gmail.com says
in outlook 2010 how can I allow in-cell editing on a specific column? Although I really like custom note feature but the problem is with in-cell editing enabled when i sort my emails as "from" I'm not able to search by typing a name.
Mike
Diane Poremsky says
Unfortunately, you can't enable it for just one folder. You could create a custom view and switch views as needed.
PALady says
I am using Outlook 2010. Step 1 states "Open the Customize View dialog." There is no "Customize View dialog" in 2010 that I can see. I want to be able to add a Notes field with in-cell editing so I can type...you guessed it...notes. I usually use conversation view, but believe from what I'm viewing here that won't work. So my questions are:
1) Where is the "Customize View Dialog" in 2010?
2) In which view(s) will I be able to do in-cell editing on the Notes field?
Thank you!
Diane Poremsky says
In Outlook 2010, go to the View tab, View Settings. You'll need to create a custom text field. You can enable in-cell editing in any table view. It won't work on single messages when you use Show conversation as there is no separate conversation group header but it will work if there is more than one message in the conversation.
Diane Poremsky says
Video instructions for the notes field is here: http//www.youtube.com/embed/5XsRJ-i8-po
Joseph Awe says
In Outlook 2013, is there a way to have the checkbox show up on a list view? The same view works properly in 2010, but in Outlook 2013, it shows up as a YES/NO column. If you have in cell editing turned on, when you click the field, you see the checkbox for a brief second, and then it returns to a YES/NO column.
piotr sienkiewicz says
here is an interesting fact - you need to have conversation mode off to be able to create a check box in a record (mail) with a click. BUT, once its there, it works even if you have conversation mode back on. Just for this mail AND ITS ENTIRE conversation. So it now behave just as a flag filed does. The other mails are unchanged (i.e. they are still dead to a click when the conv mode is on). Now that does not sound like it was planned that way...;)
Outlook, and Office, 2013 is chock full of bugs, unfortunately.
Diane Poremsky says
It's not a bug, it's "by design". When you have a single message in a conversation the conversation group header is also the message, but when you have two or more messages in a conversation there is a separate conversation group header. That's why this doesn't work with single messages in conversation view. If you have multiple messages in a conversion, you can expand the conversation and it works.
piotr sienkiewicz says
that was it (the conversation view)! Should have guessed, I was just a few hours earlier experimenting with editing message titles, where the same issue arises. sorry to bother you through obtuseness. thx.
Diane Poremsky says
Not a problem. I'm sure it will help someone else.
piotr sienkiewicz says
its enabled, but... it does not seem to work. on any of the fields! meaning, I can't in-cell edit eg. the subject filed, or the from filed, or any of them. Seems the only thing that happede when I set the Enable In-cell editing checkbiox was that grid lines appeared around each message/field.
Diane Poremsky says
Not all fields are editable with in-cell enabled. I just tested this in Outlook 2013 - it doesn't work when show as conversation is enabled and there is only one message in the conversation. The message acts as its own conversation header so the custom field won't work.
Piotr says
Yes its enabled. What next;)?
piotr sienkiewicz says
Hi, I'm using outlook 2013 (connected to the Office 365 Exchange). The fild appeared, as you described. But clicking the cell does nothing. What can be wrong? thanks in advance for your help.
Diane Poremsky says
is in-cell editing enabled? it shouldn't be necessary if you use the checkbox, but that is the first thing I'd check.