Link to home
Start Free TrialLog in
Avatar of oaktrees
oaktrees

asked on

Custom Dropdown for All Outlook Items

Need to create a dropdown that will add a searchable tag to any Outlook item.

I know there are add ins which add lots of funstionalitites.  Haven't found anything as stripped down as this idea that was still supported.  

Here's the thinking: want to be able to a project name tag to any Outlook item.  Then, I can use Categories for my GTD actions.  With those two pieces I can sort things by project, then categories (actions).

I'm open to any method as long as I can update the list of items and it is searchable in advanced find.

Got some coding skill.  Willing to make a go of it with VB Script if you can point me in the right direction.

Basically, adding a single data entry to any Outlook item.  I've searched a lot.  

Some things seemed to come close - was near about to download an Patient Information Manager for Outlook as it seemed to offer a wealth of customizable things.  Somehow I'm imagining a single project category, user-created and populated dropdown might be doable.

How does that look?

Many thanks!

OT
Avatar of abbas abdulla
abbas abdulla
Flag of Bahrain image

Avatar of oaktrees
oaktrees

ASKER

Hi Abbas,

Seems like this will work just for emails.  Am I right?  Anyway to make the Custom Field available to all outlook elements: mails, tasks, calendar items?

Thanks!

OT
Hi,

the code mentioned in that link works for all kind of outlook items and also you can sort or filter items with this custom "Column"
see also this YouTube video : https://youtu.be/5XsRJ-i8-po

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
    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

Open in new window

Hi Abbas,

Thanks for the code!  Amazing! :))

I'm confused.  If I create the Custom Field, is it then "available" to be applied to every type of Outlook item: calendar, tasks, emails?

Put another way - if I create this field while in the Tasks view, would I need to recreate it again in the Mail view for mails, and then in the Calendar View for calendar items?  Or, once created, it would be an option for every Outlook item?

Thanks!

OT
Hi,
The field will be available everywhere I guess. You have to add it as column to view it. I have no computer right now. I will check it tomorrow.
:))!
ASKER CERTIFIED SOLUTION
Avatar of abbas abdulla
abbas abdulla
Flag of Bahrain image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Thanks!  Will send you another idea soon.  Please watch for that! :)