Outlook 2000 customization

Posted on 2009-05-09
Medium Priority
Last Modified: 2013-11-10
I would like to customize Outlook as follows.

1) When I open an e-mail the time that the e-mail was sent is logged into an Outlook field

2) When I reply the time of the reply is pumped into another field as well as the 'subject' line

3) After back and forth with the corrrespondent I want to be able to send a 'sign off' e-mail at which point the sending time of this 'last' e-mail is dumped into yet another field in Outlook. At the same time a fourth field is filled in with the difference in time between the first field and the last field.

So for instance if I get an e-mail request at 1:00 AM Friday the 13, 2013 and I reply to it at 1:05 AM Friday 13, 2013 and then there is further back and forth and finally I send an e-mail 'done' at 1:13 AM Friday 13, 2013 at the end of an e-mail exchange I will have the following fields available to me:

subject line of e-mail
receipt of request -  1:00 AM Friday the 13, 2013 (in some appropriate date format
reply to request -     1:05 AM Friday 13, 2013
confirm completion - 1:13 AM Friday 13, 2013
elapsed time           - 8 minutes

Assuming that this e-mail exchange is the kind where each person's response keeps being added to the trail, ideally I would want the final e-mail that I send to have the above fields embedded into it so that if I did want I could export it to a spreadsheet.

If doable would this best be done through a macro? VB?  

Thanks in advance

Question by:lineonecorp
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 4
LVL 76

Expert Comment

by:David Lee
ID: 24349935
Hi, lineonecorp.

Yes, this is doable.  It'll require a bit of effort to accomplish.  For example, each time you open a message the solution will have to search a log to see if the message has already been recorded.  The same for every reply.  Capturing these actions requires writing a wrapper procedure that monitors all open and reply actions.  The process would be simpler if you opened and replied to these messages using separate menu selections specifically targeted for these purposes.  You can do this via VBA or by writing an Outlook add-in using VB or C.

Author Comment

ID: 24361733
Thanks for getting to this.

It should be remembered that at the end of all of this there is only going to be one long e-mail that has all the e-mail trail in it.

What I am thinking is that when the first e-mail comes in and is replied to the sender hits some kind of button and three items are recorded right there - as the mail is opened the time from the header of the incoming mail, the current time and the subject line.  When the final 'it's done' e-mail is sent again some kind of button is pushed and that time is added to the record.   I realize now I don't need to calculate the 'time' difference right there - I can do that after I export to Excel.  The trick here is whether the items I am capturing can become part of fields associated with the e-mail itself somehow.  Is it possible to add extra custom fields to an e-mail so that they are retained throughout an e-mail exchange?
LVL 76

Expert Comment

by:David Lee
ID: 24362694
"Is it possible to add extra custom fields to an e-mail so that they are retained throughout an e-mail exchange?"
It is possible to add additional properties to a message.  I can't guarantee that they can be retained throughout the exchange though.  They should be retained if the other person is using Outlook, but I have no idea if they'd survive in an exchange with a non-Outlook mail client.  
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!


Author Comment

ID: 24398866
It would be strictly an Outlook only dialog  carried on by participants within an organization using the company e-mail system with the same Outlook client running through Exchange.  How do I add the properties?  And if they are added can their contents at some later time be exported to a spreadsheet?
LVL 76

Expert Comment

by:David Lee
ID: 24400056
For this to occur the way you described your best bet is to create a custom Outlook form.  You can add the properties without crating your own form, but filling it in will be a lot more difficult.  Here's a link to the best resource I know of for building a custom Outlook form: http://www.outlookcode.com/article.aspx?ID=35

Author Comment

ID: 24405625
I would rather add the properties - at the end of the day I only need 3 or 4 fields to accomplish what I want, almost like an attachment to the e-mail. How would I add a couple of additional properties to my basic Outlook message?
LVL 76

Accepted Solution

David Lee earned 1500 total points
ID: 24459255
"I only need 3 or 4 fields"
I need to make sure that you understand the difference between fields and properties.  Fields are visual objects (e.g. buttons, checkboxes, radio buttons, text boxes) that appear on a form.  They are part of the interface.  Their purpose is to display data and accept input.  They DO NOT store data.  The information you see in them is lost the instant the form they reside on closes.  Properties are invisible.  Unlike fields they store data.  The two work in concert.  At the sending end fields accept input which is then stored in properties.  At the receiving end fields display the data stored in the item's properties.  

If you want to create fields, then you must create a custom form.  If instead you want to create properties, then you do not need a custom form.  Outlook allows us to add properties to items.  The code in the snippet will add a text property to the currently selected item.  There are a number of property types including one that stores dates.  Having created a property the question then turns to how you fill it in.  How do you want to accomplish that?
Sub AddUserProp()
    Dim olkMsg As Outlook.MailItem, _
        olkProp As Outlook.UserProperty
    Set olkMsg = Application.ActiveExplorer.Selection(1)
    With olkMsg
        'Add a text property'
        Set olkProp = olkMsg.UserProperties.Add("MyPropertyName", olText, True)
        olkProp.Value = "X"
    End With
    Set olkMsg = Nothing
    Set olkProp = Nothing
End Sub

Open in new window


Author Comment

ID: 24465112
Let me look at this and get back to you.
LVL 76

Expert Comment

by:David Lee
ID: 24466727

Featured Post

Want to be a Web Developer? Get Certified Today!

Enroll in the Certified Web Development Professional course package to learn HTML, Javascript, and PHP. Build a solid foundation to work toward your dream job!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

How to resolve IMCEAEX NDRs in Exchange or Exchange Online related to invalid X500 addresses.
Today, the web development industry is booming, and many people consider it to be their vocation. The question you may be asking yourself is – how do I become a web developer?
This Experts Exchange video Micro Tutorial shows how to tell Microsoft Office that a word is NOT spelled correctly. Microsoft Office has a built-in, main dictionary that is shared by Office apps, including Excel, Outlook, PowerPoint, and Word. When …
To add imagery to an HTML email signature, you have two options available to you. You can either add a logo/image by embedding it directly into the signature or hosting it externally and linking to it. The vast majority of email clients display l…
Suggested Courses

764 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question