[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 658
  • Last Modified:

Modifying Outlook read-only fields with Redemption?

I have a bunch of Outlook journal entries (originally ACT! history items) that I imported from CSV. They show the date of import as received date so they won't display in the proper chronological order with other existing journal items (like email where there is no Start date) when viewing from the contact's Activities tab.  Is there any way to populate the Received field with the Start field, as it contains the actual date of the event?

I understand that the Received date is read-only but stumbled across the Redemption program that seems like it might do the trick with some VB code.  I'm not a programmer so I would need some assistance if this can, in fact, be done.  Anyone interested?
0
japple1
Asked:
japple1
  • 4
  • 3
1 Solution
 
David LeeCommented:
Hi, japple1.

What did you see in the Redemption documentation that makes you believe that it can write to a read-only property?
0
 
japple1Author Commented:
Not in the documentation but in several posts I've read concerning modifying Outlook fields, including the response below by the developer:

6/15/2005 8:24:04 AM    Is it possible to set/change sent date in an email in Outlook 2002
Hi,  
I have a CSV file of emails in the same format as outlook's and can import them into outlook. BUT, I cant set the sent date in anyway that I can see, even in VBA it is readonly. Does anyone know how this can be done ? are there open formats that Outlook will import from that does support a sent date? Any help received will be most appreciated  
Neil

6/15/2005 11:29:57 AM    Re: Is it possible to set/change sent date in an email in Outlook 2002
Not in the Outlook Object Model. In Extended MAPI/CDO 1.21/Redemption you should be able to set the PR_CLIENT_SUBMIT_TIME Extended MAPI property.  
 
Dmitry Streblechenko (MVP)  
http://www.dimastr.com/ 
OutlookSpy  - Outlook, CDO  
and MAPI Developer Tool  
 
And this command from the Developer's website:
CopyTo(Item) method
Copies Redemption item (and hence the corresponding Outlook item) into any other Outlook or CDO item.

Like I said, I'm not a programmer but apparently you can access/manipulate objects through Redemption that are not otherwise accessable.
0
 
David LeeCommented:
It looks like it's possible with RDO (Redemption Data Objects).  I do not have RDO loaded but I believe the code below will work.  It should set the ReceivedTime property to the time in the Start property for all journal entries in the default Journal folder.  Please be sure to back that folder up before testing the code.  Follow these instructions to use it.

1.  Open Notepad
2.  Copy the code below and paste it into Notepad
3.  Save the file with a .vbs extension
4.  Run the script by double-clicking on the file

The script assumes that you have already downloaded and installed RDO.
Const olFolderJournal = 11
Dim objSession, objFolder, objItem
Set objSession = CreateObject("Redemption.RDOSession")
objSession.Logon
Set objFolder = objSession.GetDefaultFolder(olFolderJournal)
For Each objItem in objFolder.Items
    objItem.ReceivedTime = objItem.Start
    objItem.Save
Next
objSession.Logoff
Set objItem = Nothing
Set objFolder = Nothing
Set objSession = Nothing
WScript.Echo "Done"
WScript.Quit

Open in new window

0
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 
japple1Author Commented:
BlueDevilFan:
You da man!!!  This was exactly what I was seeking and it worked like a charm!!!  One thing though - I also have a Journal sub-folder entitled "Unlinked Items" that did not convert. Could you advise on how to modify the script to point it at that folder?  I suspect it is lines 1 and 5 but not sure what values to use.
Also, I went to your website - are you available for custom project work should the need arise? (for $ of course)
0
 
David LeeCommented:
"You da man!!!"
Thanks!

"Could you advise on how to modify the script to point it at that folder?"
The modified version below will process the other folder assuming that it is subordinate to the default Journal folder.

"are you available for custom project work should the need arise"
That depends mostly on the project and what your expectations are.  I am not a professional developer and have a full-time job.  If the project isn't too difficult, doesn't require too much of my time, and if the expectations aren't too high, then I do take on work sometimes.  
Const olFolderJournal = 11
Dim objSession, objFolder, objItem
Set objSession = CreateObject("Redemption.RDOSession")
objSession.Logon
Set objFolder = objSession.GetDefaultFolder(olFolderJournal).Folders("Unlinked Items")
For Each objItem in objFolder.Items
    objItem.ReceivedTime = objItem.Start
    objItem.Save
Next
objSession.Logoff
Set objItem = Nothing
Set objFolder = Nothing
Set objSession = Nothing
WScript.Echo "Done"
WScript.Quit

Open in new window

0
 
japple1Author Commented:
Good to know - thank you so much!
0
 
David LeeCommented:
You're welcome.  Glad I could help.
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

  • 4
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now