We recommend using Visual Studio 2017
This documentation is archived and is not being maintained.

Overview of CDO

This content is no longer actively maintained. It is provided as is, for anyone who may still be using these technologies, with no warranties or claims of accuracy with regard to the most recent product version or service release.

Collaboration Data Objects (CDO is an object library that exposes the interfaces of the Messaging Application Programming Interface (MAPI). However, instead of requiring C or C++ as MAPI does, CDO can be programmed using any development tool that creates COM objects, such as Active Server Pages (ASP), Microsoft® Visual Basic®, and Microsoft® Visual C++®.

CDO has had several incarnations, and previous versions shipped with different names and functionality. For example, in Microsoft® Exchange Server version 4.0, CDO was named OLE Messaging, and in Exchange Server 5.0, CDO was named Active Messaging. With the advent of Exchange Server version 5.5 and Microsoft® Outlook® 98, the library was renamed Collaboration Data Objects to describe its services better— CDO provides much more than messaging functionality. Although the names have changed from version to version, any earlier applications using a previous version of CDO are compatible with the latest version of the library.

In This Section

CDO Library
Create children objects from their parent objects using the hierarchical library of CDO.
Using the CDO Session Object
The Session object is the top-level object in the CDO hierarchy and contains session-wide settings and properties that return top-level objects.
Using the Logon Method
CDO does not make it possible for you to access any other objects in the library until you have logged on successfully using the Logon method of the Session object.

Related Sections

Writing Solid Code
"Writing solid code" means writing Microsoft® Visual Basic for Applications (VBA) code or script that performs as expected and is reusable, easy to understand, and easy to maintain.
Custom Classes and Objects
If you have never used class modules to build custom objects before, this section covers the concepts that you must understand to design, build, and use custom objects with their own methods and properties.
The Windows API and Other Dynamic-Link Libraries
One of the most powerful features of Visual Basic for Applications (VBA) is its extensibility. You can extend your applications by calling functions in the Microsoft Windows application programming interface (API) and other dynamic-link libraries (DLLs).