Read contents of Note inserted in Outlook Contact Item Body

J

JPL

The following code successfully displays the first line of a Note attached to
a Contact Item:

Set objNotesColl = objContactItem.Attachments
If objNotesColl.Count > 0 Then
MsgBox objNotesColl.Count & " items found for " & objContactItem.FullName
For Each objNote In objNotesColl
MsgBox objNote
Next objNote
End If

However, I wish to access the entire contents of the Note (objNote.Body),
not just the subject, and this does not work. Nor does reading the Subject
explicitly, i.e. "MsgBox objNote" works, but "MsgBox objNote.Subject" results
in a run-time error.

How can the entire contents of a Note be read?

JPL
 
D

Dmitry Streblechenko

Your code displays the Attachment.DisplayName property, which happens to the
default Attachment object property.
DisplayName property for the embedded message attachments is the value of
the message's subject, which in case of the NoteItem is set to the very
first line of the body.

You cannot easily access embedded message attachments in the Outlook Object
Model (unless you save teh atatchment as an MSG file).
Such messages can be accessed using Extended MAPI (does not work with VB),
CDO 1.21 (Attachment.Source.Body) or Redemption
(Attachment.EmbeddedMsg.Body).

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
 
J

JPL

Dmitry,

Thanks for your reply.

I appreciate that "MsgBox objNote" works because it is displaying the
default/displayname property, but am very surprised that the object model
does not allow access to the other properties of a note.

I also do not understand your explanation of message attachment processing.
Why should a Note be processed as a Message?

JPL
 
D

Dmitry Streblechenko

Note *is* a message, at least on the Extended MAPI level. All item objects
exposed by Outlook (MailItem, ContactItem, NoteItem, AppointmentItem, etc)
are exposed on top of an Extended MAPI IMessage. The only difference between
these items is the value of the PR_MESSAGE_CLASS_PROPERTY.

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
 
J

JPL

OK. Thanks.

I have used only standard MAPI and Outlook objects before and had not come
across Extended MAPI.

JPL
 
Top