I am using CDO to extract mailitem properties that are not otherwise available. In particular, the email address of the sender. The code snipit below works fine 99% of the time. It fails, in particular the objSender line, if the MailItem was originally received from another MSExchange user and that mail item was then subsequently moved out of the MSExchange environment. For example, a MailItem received in the MSExchange environment is moved to a pst file on my hard drive and at some future time I run the relevant procedure. It seems as if the information sought (objMessage.Sender) is not actually present. I suspect that the link back to the sender has been broken, but

[vba]
Set objSession = CreateObject("MAPI.Session")
objSession.Logon "", "", False, False, 0

Set ActExp = Outlook.ActiveExplorer

For Each ActItem In ActExp.Selection
'
' Get CDO properties
'
Set objFolder = ActItem.Parent
Set objMessage = objSession.GetMessage(ActItem.EntryID, objFolder.StoreID)
Set objSender = objMessage.Sender
[/vba]
Can anyone explain what might be going on here?

Thanks