[Reference/title.htm]

 

[Reference/navbarcdo.htm]

Property Tags and Types

 

Note that this page contains information that is neither documented nor supported by Microsoft. It is not guaranteed that Microsoft does not change it in future versions of their products. You may use it at your own risk and it is not guaranteed that you get support by Microsoft if you use it in your commercial applications.

Please read our legal disclaimer before you use the information provided on this page.

Because CDO 1.x relies on MAPI it is possible to use MAPI property tags to access various information, e. g. address entry or folder properties and message fields. Also you can use MAPI properties to access all Microsoft Outlook contact, task, appointment etc. item information.

Note that MAPI stores all custom properties that represent date and time information using Greenwich Mean Time (GMT). The CDO 1.x Library converts these properties so that the values appear to the user in local time. 

Unfortunately the MAPI properties to access Microsoft Outlook item data are not documented and it is quite a lot of work to figure them out. Also if you want to create MAPI properties on a specific Microsoft Outlook item you need to follow a specific way. This page summarizes which MAPI property tags and types are available and how to access their values with CDO 1.x.

Read MAPI Properties

To access a MAPI property you need to know the hexadecimal ID. If you know that ID you can use the fields collection of an object to get the information you want. Use the following code snippet as a direction to build your own application:

'   Get the contacts folder of the mailbox
Set objFolder = objSession.GetDefaultFolder(CdoDefaultFolderContacts)

' Get the first message of the contacts folder
' Note that it is still a message object
' So the class property will always return a value of CdoMsg
Set objMessages = objFolder.Messages
Set objMessage = objMessages.GetFirst()

' Get the fields collection of the contact item
Set objFields = objMessage.Fields

' Get a single field using the MAPI property tag
Set objField = objFields.Item(<PropertyTag>)

' If it is a Microsoft Outlook item you can either use
Set objField = objFields.Item("<PropertyTag>", "<PropertySetID>")

' Or the following syntax if you want to read the value directly
Value = objFields.Item("{" & "<PropertySetID>" & "}" & "<PropertyTag>").Value

' If it is a Microsoft Outlook item with a custom field use the following syntax:
Set objField = objFields.Item("<NameOfUserdefinedField>")

Note that if a property has no value you will receive an error message if you not include the On Error Resume Next before you try to get the property. This is by design, because a property that has no value is not defined and instead of getting an empty value you will get an error message.

Create and Write MAPI Properties

It is also possible to create and write such a property. Use the following code snippet as a direction to build your own application:

' Get the inbox folder of a mailbox
Set objFolder = objSession.Inbox

' Add a new message
Set objMessage = objFolder.Messages.Add

' Set the message class and subject
objMessage.Type = "<Your Message Class>"
objMessage.Subject = "<Your Subject>"

' Create/write a standard field (e. g. the subject)
objMessage.Fields.Add <PropertyTag>, "<YourFieldValue>"

' Create/write a Microsoft Outlook item field
objMessage.Fields.Add "<PropertyTag>", <PropertyType>, _
"<YourFieldValue>", "<PropertySetID>"

' Create/write a Microsoft Outlook item custom field
objMessage.Fields.Add "<PropertyTag>", <PropertyType>, _
"<YourFieldValue>", CdoPropSetID5

Property Types

To write Microsoft Outlook MAPI properties with CDO 1.x it is important to know the type of the specific MAPI property. Note that not all MAPI property types can be manipulated within CDO 1.x. In particular, the MAPI types PT_ERROR, PT_I8, PT_LONGLONG, and PT_SYSTIME do not have corresponding CDO 1.x data types. Properties of these types can be obtained with CDO 1.x  but cannot be assigned, altered, or compared within it.

The following list provides an overview of the most important MAPI property types:

Type Decimal Value Constant Hex ID Accessible with CDO Description
vbArray 8192 PT_MV_FLAG 101E Read/Write Multivalued type
vbBlob 65 PT_BINARY 0102 Read/Write Binary (unknown format)
Note that CDO  read  in counted binary format but convert to a hexadecimal string format when it is stored as a Field value
vbBoolean 11 PT_BOOLEAN 000B Read/Write as string value:
zero - False
nonzero - True
Boolean
vbCurrency 6 PT_CURRENCY 0006 Read/Write 8-byte integer (scaled by 10000)
vbDataObject 13 PT_OBJECT 000D No Data object
N/A   PT_CLSID 0048 No GUID = Global unique identifier
vbDate 7 PT_APPTIME or PT_SYSTIME 0007 Read/Write as string value 8-byte real (date in integer, time in fraction)
vbDouble 5 PT_DOUBLE, PT_R8 001E Read/Write 8-byte real (floating point)
vbEmpty 0 PT_UNSPECIFIED 0000 No Not initialized
vbInteger 2 PT_I2, PT_SHORT 0002 Read/Write as string value 2-byte integer
vbLong 3 PT_I4, PT_LONG 0003 Read/Write 4-byte integer
vbNull 1 PT_NULL 0001 No Null (no valid data)
vbSingle 4 PT_FLOAT, PT_R4 0004 Read/Write 4-byte real (floating point)
vbString 8 PT_TSTRING or PT_STRING8 001E Read/Write ANSI String
vbVariant 12 PT_UNSPECIFIED 0000 No Variant (object of unknown type)

To access most of the string properties in the Unicode format it is necessary to change the property type from 001E to 001F.

Note that the types listed above are not automatically available if you use CDO with any programming language. You need to explicit declare them in your application yourself or, if you use Visual Basic or Visual Basic for Applications, use the types listed on the left column.

Property Identifier Ranges

MAPI defines ranges of property identifiers. Each range is reserved for a special purpose. The following table summarizes the different ranges for property identifiers, describing the owner for the properties in each range.

Range Description
0000 Reserved by MAPI for the special value PR_NULL
0001 - 0BFF Message envelope properties defined by MAPI
0C00 - 0DFF Recipient properties defined by MAPI
0E00 - 0FFF Non-transmittable message properties defined by MAPI
1000 - 2FFF Message content properties defined by MAPI
3000 - 3FFF Properties for objects other than messages and recipients defined by MAPI
4000 - 57FF Message envelope properties defined by transport providers
5800 - 5FFF Recipient properties defined by transport and address book providers
6000 - 65FF Non-transmittable message properties defined by clients
6600 - 67FF Non-transmittable properties defined by a service provider. These properties can be visible or invisible to users
6800 - 7BFF Message content properties for custom message classes defined by creators of those classes
7C00 - 7FFF Non-transmittable properties for custom message classes defined by creators of those classes
8000 - FFFE Properties defined by clients and occasionally service providers that are identified by name.
FFFF Reserved by MAPI for the special error value PROP_ID_INVALID

Property Identifiers Sub-Ranges

The range between 3000 and 3FFF is reserved for properties that are not related to either messages or recipients. MAPI divides this range into sub-ranges by types of object; the following table shows this further breakdown.

Sub-Range Description
3000 - 33FF Common properties that appear on multiple objects, such as CdoPR_DISPLAY_NAME and CdoPR_ENTRYID
3400 - 35FF Message store properties
3600 - 36FF Folder and address book container properties
3700 - 38FF Attachment properties
3900 - 39FF Address book properties
3A00 - 3BFF Messaging user properties
3C00 - 3CFF Distribution list properties
3D00 - 3DFF Profile properties
3E00 - 3FFF Status object properties

Property Set ID's

Microsoft Outlook uses a special property set ID (also known as GUID = Global Unique IDentifier) for all private item types (e. g. contacts, tasks, appointments etc.). If you want to read or write such a property you need to know the property set ID before you can gain access to the property itself. The following list provides an overview of the property set ID's used with Microsoft Outlook:

Constant Hex ID Description
CdoPropSetID1 "0220060000000000C000000000000046" Used in appointment item properties. Message class:
IPM.Appointment
CdoPropSetID2 "0320060000000000C000000000000046" Used in task item properties. Message class:
IPM.Task
CdoPropSetID3 "0420060000000000C000000000000046" Used in contact item properties. Message class:
IPM.Contact
CdoPropSetID4 "0820060000000000C000000000000046" Common Outlook ID. Used with common contact, task and appointment item properties (e. g. reminders)
CdoPropSetID5 "2903020000000000C000000000000046" Generic MAPI ID. Used with all type of item properties (e. g. categories)
CdoPropSetID6 "0E20060000000000C000000000000046" Used in note item properties. Message class:
IPM.StickyNote
CdoPropSetID7 "0A20060000000000C000000000000046" Used in journal item properties. Message class:
IPM.Activity

Note that the constants listed above are not automatically available if you use CDO with any programming language. You need to explicit declare them in your application yourself.

Outlook 9x/2000 & Exchange Server 4.x/5.x Configuration Settings

Microsoft Outlook 9x/2000 and Microsoft Exchange Server 4.x/5.x store a lot of their configuration settings in hidden places. For example an Outlook form is stored as hidden message in the folder it is published to. The same applies to Outlook AutoArchive settings, Exchange Folder Assistant rules and Outlook views. While those settings are stored in hidden messages in the particular folder Microsoft does not provide a documented way to create or modify those hidden messages programmatically.

At least you can use the CDO 1.2x HiddenMessages property of the folder object to e.g. delete a rule or Outlook form from a particular folder. Use the following code snippet to access hidden messages:

' Get the inbox folder of a mailbox
Set objFolder = objSession.Inbox

' Get the hidden messages collection
Set objMessages = objFolder.HiddenMessages

Outlook/Exchange distinguish between different configuration information by using a different message class for the particular hidden message. To access the message class use the following code:

' Loop through the hidden messages
For Each objMessage In objMessages

  ' Check the message class
  Debug.Print objMessage.Type
Next

Note that in Visual Basic early binding does not work with hidden messages. 

The following list shows the most common hidden message classes and their purpose:

Message Class Description
IPM.Rule.Message Used by rules either in the inbox of a particular mailbox (with Exchange Inbox Assistant and Outlook Rules Wizard) or an Exchange Server public folder (with Exchange Server Folder Assistant).

The rule conditions and actions are stored in binary data. There is no documented way to access and modify them programmatically with CDO 1.2x.

The only documented way to access rules is to use the RULE COM component provided by Microsoft. You can download a copy at the CDOLive Code Sample Library (see Microsoft Sample Applications).

IPM.ContactLinkingViews Used by Outlook 2000 to implement Activities Folder Groups.

There is no documented way to access the contact activities settings programmatically with CDO 1.2x.

IPM.Microsoft.FolderDesign.NamedView Used by Outlook views defined in a particular private or public folder. When a new view is created and you select to create it in the current folder a hidden message will be created that holds the view settings.

The view settings are stored in binary data. While the Exchange client view description format is documented on MSDN, the enhancements made for Outlook are not included. There is no documented way to access and modify them programmatically with CDO 1.2x.

IPM.Microsoft.FolderDesign.FormsDescription Used by Outlook forms defined in a particular private of public folder. When a new form is published to a folder the hidden message will hold the Outlook form itself and form configuration settings.

The Outlook form is stored in binary data. There is no documented way to access and modify it programmatically with CDO 1.x. However, the form properties can be modified with CDO 1.2x but are not documented by Microsoft.

Limited information is available on this page how to programmatically access and modify the form properties using CDO 1.2x.

IPC.Microsoft.FolderBinding A hidden message stored in the Microsoft Exchange Server 5.5 system folder:

<YourOrganizationName>\Folders\System Folders\Events Root\EventConfig_<YourServerName>

Holds configuration information about the particular folder on the Microsoft Exchange Server that is monitored by the Exchange Server 5.5 Event Service.

IPC.Microsoft.EventSinkInfo A hidden message stored in the Microsoft Exchange Server 5.5 system folder:

<YourOrganizationName>\Folders\System Folders\Events Root\EventConfig_<YourServerName>

Holds configuration information about the installed Microsoft Exchange Server 5.5 Event Service event handlers.

Currently the following both handlers are provided by Microsoft:
ScriptHandler Class = The Microsoft Exchange Scripting Agent Handler
Microsoft Routing Engine Agent = The Microsoft Exchange Routing Engine Handler

IPC.Microsoft.EventBinding A hidden message stored in a Microsoft particular Exchange Server 5.5 folder. When a new Exchange Scripting & Routing script is installed in a particular folder this hidden message with the scripting agent script is created.

Holds configuration information about the installed Microsoft Exchange Server 5.5 scripting agent and the script code itself.

IPC.Microsoft.ICS.EventBinding A hidden message stored in a Microsoft particular Exchange Server 5.5 folder. When a new Exchange Scripting & Routing script is installed in a particular folder this hidden message is created.

Holds only logging information about the installed Microsoft Exchange Server 5.5 scripting agent.

IPC.MS.Outlook.AgingProperties Used by the Outlook AutoArchive option defined on a particular private folder. When archiving is enabled the first time a new hidden message is created in the particular folder.

The AutoArchive settings are not documented by Microsoft but limited information is available on this page how to programmatically access and modify them using CDO 1.2x.

IPC.MS.REN.USERFIELDS Used by Outlook to store user defined fields configuration information in a folder.

The user defined fields information are stored in binary data. There is no documented way to access and modify them programmatically with CDO 1.2x.

Note that if you manipulate those messages without knowing what's going on behind the scenes you can damage your Microsoft Outlook and/or Exchange Server configuration which may result in loss of data. If you are not an experienced developer be very careful modifying any of those messages.

AddressEntry Properties

The following table is a list of the most common property tags to access fields of an address entry:

Constant Hex ID Description
CdoPR_DISPLAY_NAME &H3001001E Display (name)
CdoPR_ACCOUNT &H3A00001E Alias
CdoPR_MHS_COMMON_NAME &H3A0F001E Exchange server alias *
CdoPR_GIVEN_NAME &H3A06001E First (name)
CdoPR_INITIALS &H3A0A001E Initials
CdoPR_SURNAME &H3A11001E Last (name)
CdoPR_STREET_ADDRESS &H3A29001E Address
CdoPR_TITLE &H3A17001E Title
CdoPR_COMPANY_NAME &H3A16001E Company
CdoPR_LOCALITY &H3A27001E City
CdoPR_DEPARTMENT_NAME &H3A18001E Department
CdoPR_STATE_OR_PROVINCE &H3A28001E State
CdoPR_OFFICE_LOCATION &H3A19001E Office
CdoPR_POSTAL_CODE &H3A2A001E Zip code
CdoPR_ASSISTANT &H3A30001E Assistant
CdoPR_BUSINESS_ADDRESS_COUNTRY &H3A26001E Country
CdoPR_BUSINESS_TELEPHONE_NUMBER &H3A08001E Phone
CdoPR_BUSINESS2_TELEPHONE_NUMBER &H3A1B001E Business 2
CdoPR_PRIMARY_FAX_NUMBER &H3A23001E Fax
CdoPR_ASSISTANT_TELEPHONE_NUMBER &H3A2E001E Assistant
CdoPR_HOME_TELEPHONE_NUMBER &H3A09001E Home
CdoPR_HOME2_TELEPHONE_NUMBER &H3A2F001E Home 2
CdoPR_MOBILE_TELEPHONE_NUMBER &H3A1C001E Mobile
CdoPR_PAGER_TELEPHONE_NUMBER &H3A21001E Pager
CdoPR_COMMENT &H3004001E Notes
CdoPR_EMAIL &H39FE001E SMTP e-mail address
PR_EMS_AB_HIDE_FROM_ADDRESS_BOOK &H80B9000B Hide from Exchange address book: *
True = Display
False = Hide
PR_EMS_AB_FOLDER_PATHNAME &H8004001E Contains the folder path if the address entry is a public folder
CdoPR_SEND_RICH_INFO &H3A40000B Rich text is enabled: *
True = Enabled
False = Disabled
PR_EMS_AB_OWNER &H800C001E Exchange server distribution list owner as distinguish name *
PR_EMS_AB_HOME_MTA &H8007001E Exchange server home MTA distinguish name *
PR_EMS_AB_PROXY_ADDRESSES &H800F101E E-mail Addresses *
PR_EMS_AB_EXTENSION_ATTRIBUTE_1 &H802D001E Custom Attribute 1 *
PR_EMS_AB_EXTENSION_ATTRIBUTE_2 &H802E001E Custom Attribute 2 *
PR_EMS_AB_EXTENSION_ATTRIBUTE_3 &H802F001E Custom Attribute 3 *
PR_EMS_AB_EXTENSION_ATTRIBUTE_4 &H8030001E Custom Attribute 4 *
PR_EMS_AB_EXTENSION_ATTRIBUTE_5 &H8031001E Custom Attribute 5 *
PR_EMS_AB_EXTENSION_ATTRIBUTE_6 &H8032001E Custom Attribute 6 *
PR_EMS_AB_EXTENSION_ATTRIBUTE_7 &H8033001E Custom Attribute 7 *
PR_EMS_AB_EXTENSION_ATTRIBUTE_8 &H8034001E Custom Attribute 8 *
PR_EMS_AB_EXTENSION_ATTRIBUTE_9 &H8035001E Custom Attribute 9 *
PR_EMS_AB_EXTENSION_ATTRIBUTE_10 &H8036001E Custom Attribute 10 *
PR_EMS_AB_EXTENSION_ATTRIBUTE_11 &H8C57001E Custom Attribute 11 **
PR_EMS_AB_EXTENSION_ATTRIBUTE_12 &H8C58001E Custom Attribute 12 **
PR_EMS_AB_EXTENSION_ATTRIBUTE_13 &H8C59001E Custom Attribute 13 **
PR_EMS_AB_EXTENSION_ATTRIBUTE_14 &H8C60001E Custom Attribute 14 **
PR_EMS_AB_EXTENSION_ATTRIBUTE_15 &H8C61001E Custom Attribute 15 **

* Only available with Microsoft Exchange Server 4.0/5.0, 5.5 and 2000
** Only available with Microsoft Exchange Server 5.5 and 2000

For a working example using the properties above take a look at the 'Code Sample Library', Sample 3.

Folder Properties

The following table is the of the most common property tags to access fields of a folder:

Constant Hex ID Description
CdoPR_DISPLAY_NAME &H3001001F Display name
CdoPR_COMMENT &H3004001E Folder description
CdoPR_CONTAINER_CLASS &H3613001E Folder type:
"IPF.Note" = Mail items
"IPF.Contact" = Contacts
"IPF.Appointment" = Appointments
"IPF.Journal" = Journal
"IPF.StickyNote" = Notes
"IPF.Task" = Tasks
CdoPR_CONTENT_COUNT &H36020003 Count of messages
CdoPR_CONTENT_UNREAD &H36030003 Count of unread messages
CdoPR_SUBFOLDERS &H360A000B Folder contains subfolders:
True = Subfolders found
False = No subfolders
CdoPR_ENTRYID &H0FFF0102 Entry ID of current folder
CdoPR_PARENT_ENTRYID &HE090102 Entry ID of parent folder
CdoPR_Calendar &H36D00102 Only defined in the inbox folder of the default delivery location
CdoPR_Contacts &H36D10102 Only defined in the inbox folder of the default delivery location
CdoPR_Journal &H36D20102 Only defined in the inbox folder of the default delivery location
CdoPR_Notes &H36D30102 Only defined in the inbox folder of the default delivery location
CdoPR_Tasks &H36D40102 Only defined in the inbox folder of the default delivery location
CdoPR_Reminders_Online &H36D50102 Only defined in the inbox folder of the default delivery location
CdoPR_Reminders_Offline &H36D60102 Only defined in the inbox folder of the default delivery location
CdoPR_Drafts &H36D70102 Only defined in the inbox folder of the default delivery location
CdoPR_WEBPAGE &H36DF0102 Outlook 2000 folder home page
CdoPR_HAS_RULES &H663A000B Folder has rules installed:
True = Rules installed
False = No rules installed
CdoPR_DEF_MSG_CLASS &H36E5001E Default form message class
CdoPR_DEF_FORM_NAME &H36E6001E Default form name
CdoPR_DEF_FORM_ALLOWED &H3FE20003 Allow these forms in this folder:
0 = Any form
1 = Only forms listed above
2 = Forms listed above and standard forms
CdoPR_FOLDER_VIEWS_ONLY &H36E10003 Show only views created for this folder:
0 = False
1 = True
CdoPR_DEFAULT_VIEW_ENTRYID &H36160102 Entry ID of the initial view on this folder
CdoPR_GENERATE_EXCHANGE_VIEWS &H36E9000B Automatically generate Microsoft Exchange views:
True = Generate views
False = Do not generate views
CdoPR_VIEW_NAME &H7006001E Display name of the default view
CdoPR_OFFLINE_FLAG &H663D0003 Offline folder flag:
0 = Available only online
1 = Available online and offline
CdoPR_REPLICA_VERSION &H664B0014 Exchange Server version information
CdoPR_PUBLISH_IN_ADDRESS_BOOK &H3FE6000B Display this folder in the Exchange Server address list:
True = Enable
False = Disable
CdoPR_ACCESS &H0FF40003 Folder access level
MAPI_ACCESS_CREATE_CONTENTS &H00000010 Can create messages
MAPI_ACCESS_CREATE_HIERARCHY &H00000008 Can create subfolders
MAPI_ACCESS_READ &H00000002 Can read messages
MAPI_ACCESS_MODIFY &H00000001 Can modify folder

For a working example using the properties above take a look at the 'Code Sample Library', Sample 12.

Updated 08/31/2000 Message Properties

CDO 1.x provides native access to most of the built-in message properties. However, there are some properties that are not documented, e.g. Outlook message flags. The following table is a list of some useful  property tags (either documented or undocumented) of a CDO message object:

Constant Hex ID Description
CdoPR_FLAG_STATUS &H10900003 Outlook Flag status:
0 = No flag
1 = White flag
2 = Red flag
CdoPR_FLAG_TEXT CdoPropSetID4 & "0x8530" Flag text as displayed in Outlook
CdoPR_FLAG_DUE_BY CdoPropSetID4 & "0x8502" Flag due by date/time
CdoPR_FLAG_DUE_BY_NEXT CdoPropSetID4 & "0x8560" Flag due by date/time
CdoPR_FLAG_COMPLETE &H10910040 Flag complete date/time
CdoPR_REPLY_TIME  &H00300040 Reply time
CdoPR_REPLY_REQUESTED  &H0C17000B Reply requested:
True = Yes
False = No
CdoPR_RESPONSE_REQUESTED &H0063000B Response requested:
True = Yes
False = No
CdoPR_WSS_URL &H6707101E URL to the item in the Exchange Web Storage System *
CdoPR_AUTO_FORWARDED &H0005000B Message is automatically forwarded:
True = Yes
False = No
CdoPR_DEFERRED_DELIVERY_TIME &H000F0040 Setting deferred delivery means the message waits in the Exchange Server MTA queue
CdoPR_DEFERRED_SEND_TIME &H3FEF0040 Setting deferred sending means the message will stay in the outbox of the client
CdoPR_REPORT_TAG &H00310102 Used to correlate the RN/NRN with the original sent message in the Sent Items folder
CdoPR_TRANSPORT_MESSAGE_HEADERS &H007D001E Contains the Internet message header
CdoPR_ACTION_DATE  &H10820040 Action date
CdoPR_ACTION &H10800003 Action:
261 = Reply
262 = Forward
CdoPR_ACTION_FLAG &H10810003 Indicates the action type:
102 = Reply to sender
103 = Reply to all
104 = Forward

* Only available with Microsoft Exchange 2000 Server

Note that a list of the most common MAPI property tags for a CDO message object is included in the CDO documentation and CDO.HLP file so they are not listed in the table above.

Outlook Contact Properties

The following table is a list of the most common property tags to access fields of a Microsoft Outlook contact item:

Constant Hex ID Description
CdoPR_MESSAGE_DELIVERY_TIME &H0E060040 Item.CreationTime
CdoPR_MESSAGE_SIZE &H0E080003 Item.Size
CdoPR_SENSITIVITY &H00360003 Item.Sensitivity
CdoPR_MESSAGE_CLASS &H001A001F Item.MessageClass
CdoPR_IMPORTANCE &H00170003 Item.Importance
CdoPR_ENTRYID &H0FFF0102 Item.EntryID
CdoPR_BODY &H1000001F Item.Body
CdoContact_Categories CdoPropSetID5 & "Keywords" Item.Categories
CdoPR_DISPLAY_NAME &H3001001F Item.FullName
CdoPR_TITLE &H3A17001F Item.JobTitle
CdoPR_COMPANY_NAME &H3A16001F Item.CompanyName
CdoPR_DISPLAY_NAME_PREFIX &H3A45001E Item.Title
CdoPR_SURNAME &H3A11001E Item.LastName
CdoPR_MIDDLE_NAME &H3A44001F Item.MiddleName
CdoPR_GIVEN_NAME &H3A06001F Item.FirstName
CdoPR_GENERATION &H3A05001E Item.Suffix
CdoPR_BUSINESS_HOME_PAGE &H3A51001F Item.BusinessHomePage
CdoPR_PERSONAL_HOME_PAGE &H3A50001F Item.PersonalHomePage
CdoPR_FTP_SITE &H3A4C001E Item.FTPSite
CdoPR_INITIALS &H3A0A001E Item.Initials
CdoContact_WebPage CdoPropSetID3 & "0x802B" Item.WebPage
CdoContact_FileUnder CdoPropSetID3 & "0x8005" Item.FileAs
CdoContact_CompanyAndFullName CdoPropSetID3 & "0x8018" Item.CompanyAndFullName
CdoContact_CompanyLastFirstNoSpace CdoPropSetID3 & "0x8032" Item.CompanyLastFirstNoSpace
CdoContact_CompanyLastFirstSpaceOnly CdoPropSetID3 & "0x8033" Item.CompanyLastFirstSpaceOnly
CdoContact_FullNameAndCompany CdoPropSetID3 & "0x8019" Item.FullNameAndCompany
CdoContact_LastFirstAndSuffix CdoPropSetID3 & "0x8036" Item.LastFirstAndSuffix
CdoContact_LastFirstNoSpace CdoPropSetID3 & "0x8030" Item.LastFirstNoSpace
CdoContact_LastFirstNoSpaceCompany CdoPropSetID3 & "0x8034" Item.LastFirstNoSpaceCompany
CdoContact_LastFirstSpaceOnly CdoPropSetID3 & "0x8031" Item.LastFirstSpaceOnly
CdoContact_LastFirstSpaceOnlyCompany CdoPropSetID3 & "0x8035" Item.LastFirstSpaceOnlyCompany
CdoContact_LastNameAndFirstName CdoPropSetID3 & "0x8017" Item.LastNameandFirstName
CdoContact_EmailOriginalDisplayName CdoPropSetID3 & "0x8084" Item.EMail1DisplayName
CdoContact_EmailEmailAddress CdoPropSetID3 & "0x8083" Item.EMail1Address
CdoContact_EmailAddrType CdoPropSetID3 & "0x8082" Item.EMail1AddressType
CdoContact_EmailOriginalEntryID CdoPropSetID3 & "0x8085" Item.EMail1EntryID
CdoContact_Email2OriginalDisplayName CdoPropSetID3 & "0x8094" Item.EMail2DisplayName
CdoContact_Email2EmailAddress CdoPropSetID3 & "0x8093" Item.EMail2Address
CdoContact_Email2AddrType CdoPropSetID3 & "0x8092" Item.EMail2AddressType
CdoContact_Email2OriginalEntryID CdoPropSetID3 & "0x8095" Item.EMail2EntryID
CdoContact_Email3OriginalDisplayName CdoPropSetID3 & "0x80A4" Item.EMail3DisplayName
CdoContact_Email3EmailAddress CdoPropSetID3 & "0x80A3" Item.EMail3Address
CdoContact_Email3AddrType CdoPropSetID3 & "0x80A2" Item.EMail3AddressType
CdoContact_Email3OriginalEntryID CdoPropSetID3 & "0x80A5" Item.EMail3EntryID
CdoContact_SelectedAddress CdoPropSetID3 & "0x8022" Item.SelectedMailingAddress:
0 = None
1 = Home
2 = Business
3 = Other
CdoPR_ASSISTANT_TELEPHONE_NUMBER &H3A2E001F Item.AssistantTelephoneNumber
CdoPR_BUSINESS_TELEPHONE_NUMBER &H3A08001F Item.BusinessTelephoneNumber
CdoPR_BUSINESS2_TELEPHONE_NUMBER &H3A1B001F Item.Business2TelephoneNumber
CdoPR_BUSINESS_FAX_NUMBER &H3A24001F Item.BusinessFaxNumber
CdoPR_CALLBACK_TELEPHONE_NUMBER &H3A02001F Item.CallbackTelephoneNumber
CdoPR_CAR_TELEPHONE_NUMBER &H3A1E001F Item.CarTelephoneNumber
CdoPR_COMPANY_MAIN_PHONE_NUMBER &H3A57001F Item.CompanyMainTelephoneNumber
CdoPR_HOME_TELEPHONE_NUMBER &H3A09001F Item.HomeTelephoneNumber
CdoPR_HOME2_TELEPHONE_NUMBER &H3A2F001F Item.Home2TelephoneNumber
CdoPR_HOME_FAX_NUMBER &H3A25001F Item.HomeFaxNumber
CdoPR_ISDN_NUMBER &H3A2D001F Item.ISDNNumber
CdoPR_MOBILE_TELEPHONE_NUMBER &H3A1C001F Item.MobileTelephoneNumber
CdoPR_OTHER_TELEPHONE_NUMBER &H3A1F001F Item.OtherTelephoneNumber
CdoPR_PRIMARY_FAX_NUMBER &H3A23001F Item.OtherFaxNumber
CdoPR_PAGER_TELEPHONE_NUMBER &H3A21001F Item.PagerNumber
CdoPR_PRIMARY_TELEPHONE_NUMBER &H3A1A001F Item.PrimaryTelephoneNumber
CdoPR_RADIO_TELEPHONE_NUMBER &H3A1D001F Item.RadioTelephoneNumber
CdoPR_TELEX_NUMBER &H3A2C001F Item.TelexNumber
CdoPR_TTYTDD_PHONE_NUMBER &H3A4B001F Item.TTYTDDTelephoneNumber
CdoPR_POSTAL_ADDRESS &H3A15001F Item.MailingAddress
CdoPR_LOCALITY &H3A27001F Item.MailingAddressCity
CdoPR_BUSINESS_ADDRESS_COUNTRY &H3A26001E Item.MailingAddressCountry
CdoPR_POSTAL_CODE &H3A2A001E Item.MailingAddressPostalCode
CdoPR_BUSINESS_ADDRESS_POST_OFFICE_BOX &H3A2B001E Item.MailingAddressPostOfficeBox
CdoPR_STATE_OR_PROVINCE &H3A28001E Item.MailingAddressState
CdoPR_STREET_ADDRESS &H3A29001F Item.MailingAddressStreet
CdoPR_HOME_ADDRESS_CITY &H3A59001E Item.HomeAddressCity
CdoPR_HOME_ADDRESS_STREET &H3A5D001E Item.HomeAddressStreet
CdoPR_HOME_ADDRESS_STATE_OR_PROVINCE &H3A5C001E Item.HomeAddressState
CdoPR_HOME_ADDRESS_COUNTRY &H3A5A001E Item.HomeAddressCountry
CdoPR_HOME_ADDRESS_POST_OFFICE_BOX &H3A5E001E Item.HomeAddressPostOfficeBox
CdoPR_HOME_ADDRESS_POSTAL_CODE &H3A5B001E Item.HomeAddressPostalCode
CdoPR_OTHER_ADDRESS_CITY &H3A5F001E Item.OtherAddressCity
CdoPR_OTHER_ADDRESS_STREET &H3A63001E Item.OtherAddressStreet
CdoPR_OTHER_ADDRESS_STATE_OR_PROVINCE &H3A62001E Item.OtherAddressState
CdoPR_OTHER_ADDRESS_COUNTRY &H3A60001E Item.OtherAddressCountry
CdoPR_OTHER_ADDRESS_POSTAL_CODE &H3A61001E Item.OtherAddressPostalCode
CdoPR_OTHER_ADDRESS_POST_OFFICE_BOX &H3A64001E Item.OtherAddressPostOfficeBox
CdoContact_HomeAddress CdoPropSetID3 & "0x801A" Item.HomeAddress
CdoContact_BusinessAddress CdoPropSetID3 & "0x801B" Item.BusinessAddress
CdoContact_OtherAddress CdoPropSetID3 & "0x801C" Item.OtherAddress
CdoContact_BusinessAddressCity CdoPropSetID3 & "0x8046" Item.BusinessAddressCity
CdoContact_BusinessAddressStreet CdoPropSetID3 & "0x8045" Item.BusinessAddressStreet
CdoContact_BusinessAddressState CdoPropSetID3 & "0x8047" Item.BusinessAddressState
CdoContact_BusinessAddressCountry CdoPropSetID3 & "0x8049" Item.BusinessAddressCountry
CdoContact_BusinessAddressPostalCode CdoPropSetID3 & "0x8048" Item.BusinessAddressPostalCode
CdoContact_BusinessAddressPostOfficeBox CdoPropSetID3 & "0x804A" Item.BusinessAddressPostOfficeBox
CdoPR_DEPARTMENT_NAME &H3A18001F Item.Department
CdoPR_MANAGER_NAME &H3A4E001F Item.ManagerName
CdoPR_OFFICE_LOCATION &H3A19001F Item.Location
CdoPR_ASSISTANT &H3A30001F Item.AssistantName
CdoPR_PROFESSION &H3A46001F Item.Profession
CdoPR_NICKNAME &H3A4F001F Item.NickName
CdoPR_BIRTHDAY &H3A420040 Item.Birthday
CdoPR_SPOUSE_NAME &H3A48001F Item.SpouseName
CdoPR_WEDDING_ANNIVERSARY &H3A410040 Item.Anniversary
CdoPR_ACCOUNT &H3A00001E Item.Account
CdoPR_COMPUTER_NETWORK_NAME &H3A49001E Item.ComputerNetworkName
CdoPR_CHILDRENS_NAMES &H3A58101E Item.Children
CdoPR_CUSTOMER_ID &H3A4A001E Item.CustomerID
CdoPR_GENDER &H3A4D0002 Item.Gender:
0 = Unspecified
1 = Female
2 = Male
CdoPR_GOVERNMENT_ID_NUMBER &H3A07001E Item.GovernmentIDNumber
CdoPR_HOBBIES &H3A43001E Item.Hobby
CdoPR_LANGUAGE &H3A0C001E Item.Language
CdoPR_LOCATION &H3A0D001E Item.OfficeLocation
CdoPR_ORGANIZATIONAL_ID_NUMBER &H3A10001E Item.OrganizationalIDNumber
CdoPR_REFERRED_BY_NAME &H3A47001E Item.ReferredBy
CdoContact_BillingInformation CdoPropSetID4 & "0x8535" Item.BillingInformation
CdoContact_InternetFreeBusyAddress CdoPropSetID3 & "0x80D8" Item.InternetFreeBusyAddress
CdoContact_Mileage CdoPropSetID4 & "0x8534" Item.Mileage
CdoContact_UserField1 CdoPropSetID3 & "0x804F" Item.UserField1
CdoContact_UserField2 CdoPropSetID3 & "0x8050" Item.UserField2
CdoContact_UserField3 CdoPropSetID3 & "0x8051" Item.UserField3
CdoContact_UserField4 CdoPropSetID3 & "0x8052" Item.UserField4
CdoContact_YomiCompanyName CdoPropSetID3 & "0x802E" Item.YomiCompanyName
CdoContact_YomiFirstName CdoPropSetID3 & "0x802C" Item.YomiFirstName
CdoContact_YomiLastName CdoPropSetID3 & "0x802D" Item.YomiLastName

For a working example using the properties above take a look at the 'Code Sample Library', Sample 15.

Outlook Task Properties

The following table is a list of the most common property tags to access fields of a Microsoft Outlook task item:

Constant Hex ID Description
CdoPR_MESSAGE_DELIVERY_TIME &H0E060040 Item.CreationTime
CdoPR_MESSAGE_SIZE &H0E080003 Item.Size
CdoPR_SENSITIVITY &H00360003 Item.Sensitivity
CdoPR_MESSAGE_CLASS &H001A001F Item.MessageClass
CdoPR_IMPORTANCE &H00170003 Item.Importance
CdoPR_ENTRYID &H0FFF0102 Item.EntryID
CdoPR_BODY &H1000001F Item.Body
CdoTask_Categories CdoPropSetID5 & "Keywords" Item.Categories
CdoTask_ReminderOverride CdoPropSetID4 & "0x851C" Item.ReminderOverrideDefault
CdoTask_ReminderSound CdoPropSetID4 & "0x851E" Item.ReminderPlaySound
CdoTask_ReminderSet CdoPropSetID4 & "0x8503" Item.ReminderSet
CdoTask_ReminderFile CdoPropSetID4 & "0x851F" Item.ReminderSoundFile
CdoTask_ReminderTime CdoPropSetID4 & "0x8502" Item.ReminderTime
CdoTask_BillingInformation CdoPropSetID4  & "0x8535" Item.BillingInformation
CdoTask_Mileage CdoPropSetID4 & "0x8534" Item.Mileage
CdoTask_Companies CdoPropSetID4 & "0x8539" Item.Companies
CdoTask_ContactNames CdoPropSetID4 & "0x853A" Item.ContactNames
CdoTask_StartDate CdoPropSetID2 &"0x8104" Item.StartDate
CdoTask_CommonStart CdoPropSetID4 & "0x8516" Item.StartDate
CdoTask_DueDate CdoPropSetID2 &"0x8105" Item.DueDate
CdoTask_CommonEnd CdoPropSetID4 & "0x8517" Item.DueDate
CdoTask_PercentComplete CdoPropSetID2 & "0x8102" Item.PercentComplete:
100% = 1.000000e+000
25% = 2.500000e-001
10% = 1.000000e-001
5% = 5.000000e-002
2.5% = 2.500000e-002
CdoTask_DateCompleted CdoPropSetID2 & "0x810F" Item.DateCompleted
CdoTask_Duration CdoPropSetID2 &"0x8106" Item.Duration
CdoTask_TeamTask CdoPropSetID2 &"0x8103" Item.TeamTask
CdoTask_Complete CdoPropSetID2 & "0x811C" Item.Complete:
True = Complete
False = Not complete
CdoTask_TotalWork CdoPropSetID2 & "0x8111" Item.TotalWork:
In minutes
CdoTask_ActualWork CdoPropSetID2 & "0x8110" Item.ActualWork:
In minutes
CdoTask_Owner CdoPropSetID2 & "0x811F" Item.Owner
CdoTask_Status CdoPropSetID2 & "0x8101" Item.Status:
0 = Open
1 = In Progress
2 = Completed
3 = Waiting for Someone Else
4 = Deferred
CdoTask_IsRecurring CdoPropSetID2 & "0x8126" Item.IsRecurring:
True = Recurring
False = Not recurring

Note that the property tags above are not completely tested.

Outlook Appointment Properties

The following table is a list of the most common property tags to access fields of a Microsoft Outlook appointment item:

Constant Hex ID Description
CdoPR_MESSAGE_DELIVERY_TIME &H0E060040 Item.CreationTime
CdoPR_MESSAGE_SIZE &H0E080003 Item.Size
CdoPR_SENSITIVITY &H00360003 Item.Sensitivity
CdoPR_MESSAGE_CLASS &H001A001F Item.MessageClass
CdoPR_IMPORTANCE &H00170003 Item.Importance
CdoPR_ENTRYID &H0FFF0102 Item.EntryID
CdoPR_BODY &H1000001F Item.Body
CdoAppt_Categories CdoPropSetID5 & "Keywords" Item.Categories
CdoAppt_ReminderNextTime CdoPropSetID4 & "0x8560" Item.ReminderMinutesBeforeStart
CdoAppt_ReminderOverride CdoPropSetID4 & "0x851C" Item.ReminderOverrideDefault
CdoAppt_ReminderSound CdoPropSetID4 & "0x851E" Item.ReminderPlaySound
CdoAppt_ReminderSet CdoPropSetID4 & "0x8503" Item.ReminderSet
CdoAppt_ReminderFile CdoPropSetID4 & "0x851F" Item.ReminderSoundFile
CdoAppt_BillingInformation CdoPropSetID4 & "0x8535" Item.BillingInformation
CdoAppt_Mileage CdoPropSetID4 & "0x8534" Item.Mileage
CdoAppt_Companies CdoPropSetID4 & "0x8539" Item.Companies
CdoPR_START_DATE &H00600040 Item.StartDate
CdoAppt_StartDate CdoPropSetID1 & "0x820D" Item.StartDate
CdoPR_END_DATE &H00610040 Item.EndDate
CdoAppt_EndDate CdoPropSetID1 & "0x820E" Item.EndDate
CdoAppt_BusyStatus CdoPropSetID1 & "0x8205" Item.BusyStatus:
0 = Free
1 = Tentative
2 = Busy
3 = Out of office
CdoAppt_Location CdoPropSetID1 & "0x8208" Item.Location
CdoAppt_Duration CdoPropSetID1 & "0x8213" Item.Duration
CdoAppt_RecurrenceState CdoPropSetID1 & "0x8216" Item.RecurrenceState
CdoAppt_ResponseStatus CdoPropSetID1 & "0x8218" Item.ResponseStatus
CdoAppt_ReplyTime CdoPropSetID1 & "0x8222" Item.ReplyTime
CdoAppt_IsRecurring CdoPropSetID1 & "0x8223" Item.IsRecurring:
True = Recurring
False = Not recurring
CdoAppt_Organizer CdoPropSetID1 & "0x822E" Item.Organizer
CdoAppt_RecurrencePattern CdoPropSetID1 & "0x8231" Item.RecurrencePattern
CdoAppt_RecurrenceType CdoPropSetID1 & "0x8232" Item.RecurrenceType

Note that the property tags above are not completely tested.

Outlook Journal Properties

The following table is a list of the most common property tags to access fields of a Microsoft Outlook journal item:

Constant Hex ID Description
CdoPR_MESSAGE_DELIVERY_TIME &H0E060040 Item.CreationTime
CdoPR_MESSAGE_SIZE &H0E080003 Item.Size
CdoPR_SENSITIVITY &H00360003 Item.Sensitivity
CdoPR_MESSAGE_CLASS &H001A001F Item.MessageClass
CdoPR_ENTRYID &H0FFF0102 Item.EntryID
CdoPR_BODY &H1000001F Item.Body
CdoJournal_Categories CdoPropSetID5 & "Keywords" Item.Categories
CdoJournal_BillingInformation CdoPropSetID4  & "0x8535" Item.BillingInformation
CdoJournal_Mileage CdoPropSetID4 & "0x8534" Item.Mileage
CdoJournal_Companies CdoPropSetID4 & "0x8539" Item.Companies
CdoJournal_ContactNames CdoPropSetID4 & "0x853A" Item.ContactNames
CdoJournal_Entry CdoPropSetID7 & "0x8700" Item.EntryType 
CdoJournal_EntryType CdoPropSetID7 & "0x8712" Item.EntryType 
CdoJournal_StartDate CdoPropSetID7 & "0x8704" Item.Start
CdoJournal_Start CdoPropSetID7 & "0x8706" Item.Start
CdoJournal_StartTime CdoPropSetID7 & "0x8705" Item.End
CdoJournal_End CdoPropSetID7 & "0x8708" Item.End
CdoJournal_Duration CdoPropSetID7 & "0x8707" Item.Duration
CdoJournal_DocPrinted CdoPropSetID7 & "0x870E" Item.DocPrinted
CdoJournal_DocSaved CdoPropSetID7 & "0x870F" Item.DocSaved
CdoJournal_DocRouted CdoPropSetID7 & "0x8710" Item.DocRouted
CdoJournal_DocPosted CdoPropSetID7 & "0x8711" Item.DocPosted

Note that the property tags above are not completely tested.

Outlook Note Properties

The following table is a list of the most common property tags to access fields of a Microsoft Outlook note item:

Constant Hex ID Description
CdoPR_MESSAGE_DELIVERY_TIME &H0E060040 Item.CreationTime
CdoPR_MESSAGE_SIZE &H0E080003 Item.Size
CdoPR_MESSAGE_CLASS &H001A001F Item.MessageClass
CdoPR_ENTRYID &H0FFF0102 Item.EntryID
CdoPR_BODY &H1000001F Item.Body
CdoNote_Categories CdoPropSetID5 & "Keywords" Item.Categories
CdoNote_Color CdoPropSetID6 & "0x8B00" Item.Color:
0 = Blue
1 = Green
2 = Pink
3 = Yellow
4 = White
CdoNote_Width CdoPropSetID6 & "0x8B02" Item.Width:
In pixel
CdoNote_Height CdoPropSetID6 & "0x8B03" Item.Height:
In pixel

Note that the property tags above are not completely tested.

Outlook Form Properties

The following table is a list of the most common property tags to access fields of a Microsoft Outlook form message:

Constant Hex ID Description
CdoPR_MESSAGE_SIZE &H0E080003 Forms size
CdoPR_CREATOR_NAME &H3FF8001E Publisher name
CdoPR_CREATOR_ENTRY_ID &H3FF9001E Publisher entry ID
CdoPR_LAST_MODIFY_NAME &H3FFA001E Last modified by name
CdoPR_LAST_MODIFY_ENTRY_ID &H3FFB001E Last modified entry ID
CdoPR_CREATION_TIME &H30070040 Publishing date
CdoPR_LAST_MODIFICATION_TIME &H30080040 Last modification date/time
CdoPR_DISPLAY_NAME &H3001001E      Display name
CdoPR_FORM_DESCRIPTION &H6820001E Description
CdoPR_FORM_CONTACT &H6821001E Contact
CdoPR_FORM_VERSION &H6822001E Version
CdoPR_FORM_NUMBER &H682B001E Number
CdoPR_FORM_MSG_CLASS &H6800001E Message class
CdoPR_FORM_CATEGORY &H6801001E Forms category
CdoPR_FORM_SUBCATEGORY &H6802001E Forms subcategory
CdoPR_FORM_OUTLOOK_FIELDS &H6835001E Outlook user defined fields list
CdoPR_FORM_HIDDEN &H6803000B Form visible status
True = Hidden
False = Not hidden

For a working sample using the properties above take a look at the 'Code Sample Library', Sample 9.

Outlook AutoArchive Properties

The following table is a list of the most common property tags to access fields of a Microsoft Outlook AutoArchive configuration hidden message:

Constant Hex ID Description
CdoPR_AGING_PERIOD &H36EC0003 Aging period
CdoPR_AGING_GRANULARITY &H36EE0003 Aging granularity:
0 = Months
1 = Weeks
2 = Days
CdoPR_AGING_FILENAME &H6856001E Path and filename of archive file
CdoPR_PR_AGING_AGE_FOLDER &H6857000B Enable aging for this folder:
True = Enabled
False = Disabled   
CdoPR_AGING_DELETE_ITEMS &H6855000B Move items to archive folder:
True = Move
False = Copy

For a working example using the properties above take a look at the 'Code Sample Library', Sample 22.

Updated 09/15/2000 Exchange Server 5.5 Scripting & Routing Agent Properties

The following table is a list of the most common property tags to access fields of a Microsoft Exchange Event Service script message:

Constant Hex ID Description
CdoPR_EVENT_SCRIPT &H7102001E Contains the script code assigned to this agent
CdoPR_DISPLAY_NAME &H3001001F Display name of the installed agent
CdoPR_AGENT_HOME_SERVER &H6644001E Run this agent on this server
CdoPR_CLIENT_SUBMIT_TIME &H00390040 Date/time agent created
CdoPR_CREATOR_NAME &3FF8001E Created by
CdoPR_LAST_MODIFICATION_TIME &H30080040 Date/time agent last modified
CdoPR_LAST_MODIFIER_NAME &3FFA001E Last modified by
CdoPR_EVENT_LOG &H780C001E Event script log text
SCRIPT_HANDLER_CLASS_ID "{69E54151-B371-11D0-BCD9-00AA00C1AB1C}" Class ID for a scripting agent script
ROUTING_CLASS_ID "{69E64151-B371-11D0-BCD9-00AA00C1AB1C}" Class ID for a routing agent script
BIT_EVENT_SCHEDULE 1 Bitmask for a "Scheduled" event
BIT_EVENT_NEWMSG 2 Bitmask for a "New Message" event
BIT_EVENT_CHGMSG 4 Bitmask for a "Change Message" event
BIT_EVENT_DELMSG 8 Bitmask for a "Delete Message" event

All property tags and types have been used only with the following software:

  • Microsoft Windows NT Server 4.0, with Service Pack 5, US English - international
  • Microsoft Exchange Server 5.5, with Service Pack 2/3, US English - international
  • Microsoft Outlook 98, with Security Patch 2 and Archive Patch, US English - international
  • Microsoft Outlook 2000, US English - international

It might be possible that they don't work in another version of Exchange Server and Outlook.

 

 

line.gif (1953 bytes)
Last updated November 10, 2000
webmaster@cdolive.com
Copyright © CDOLive. All rights reserved.
Legal disclaimer
Best experienced with:

Click here to start.