Access an Email With CDO 1.21

Up to Outlook 2003 the CDO 1.21 library offered features you couldn't find in the Outlook object model.

Last modified: 2006/01/20 | Accessed: 38.557  | #17
◀ Previous sample Next sample ▶
ReplyAll ReplyAll
ReplyAll alerts you before unintentionally replying all, or if you are a confidential BCC recipient of the e-mail.

CDO 1.21 is not as comfortable to use as the Outlook object model. On the other hand, it provides you with more functionality than the OOM does.

The CDO 1.21 library is an optional component that can be found on the Office or Outlook installation disk. Because it is not installed by default you might make it up via Control Panel, Add/Remove programs; select Microsoft Office (or Outlook) and click to Add/Edit features. Then select 'Collaboration Data Objects' from the collection of Outlook components.

The following sample demonstrates how to logon a MAPI session and get the corresponding MAPI object from an Outlook MailItem. Because the GetMessage function needs the Outlook item's EntryID, the item must be stored once beforehand.

tip  How to add macros to Outlook
Public Function GetMessage(oObj As Object) As MAPI.Message
  On Error Resume Next
  Dim oSess As MAPI.Session
  Dim sEntryID As String
  Dim sStoreID As String

  sEntryID = oObj.EntryID
  sStoreID = oObj.Parent.StoreID

  Set oSess = CreateObject("MAPI.Session")
  oSess.LogOn , , False, False, , True
  Set GetMessage = oSess.GetMessage(sEntryID, sStoreID)
End Function
Determine the "identity" of your emails. Set with SAM the sender and the folder folder for sent items with the help of rules.
email  Send a message