Advertisement

04.29.2008 at 12:46PM PDT, ID: 23363356 | Points: 500
[x]
Attachment Details
Access Outlook Contacts and Calendar from C++ Builder Program
Tags: C++ Builder
I have a program written in Borland C++ Builder 5 and I would like to be able to read with code the Microsoft Outlook Contacts and Calendar items.  I have a feature in my program to send an email message using MAPI but I haven't been able to find a way to read Contacts and the Calendar with MAPI.

Does anyone know how I can do this?


Thank you in advance for your responses!


--Adrian
Start your free trial to view this solution
Question Stats
Zone: Programming
Question Asked By: AdrianSRU
Question Asked On: 04.29.2008
Participating Experts: 0
Points: 500
Views: 0
Translate:
Loading Advertisement...
05.08.2008 at 10:25AM PDT, ID: 21526694

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
 
Loading Advertisement...
Microsoft
  • Internet Protocols
  • Applications
  • Development
  • OS
  • Hardware
  • Windows Security
Apple
  • Operating Systems
  • Hardware
  • Programming
  • Networking
  • Software
Internet
  • Search Engines
  • File Sharing
  • WebTrends / Stats
  • Spy / Ad Blockers
  • Web Browsers
  • New Net Users
  • Web Development
  • Chat / IM
  • Anti Spam
  • Web Servers
  • Anti-Virus
  • Email Clients
Gamers
  • Tips
  • Online / MMORPG
  • Puzzle
  • Emulators
  • Action / Adventure
  • Role Playing
  • Consoles
  • Game Programming
  • Strategy
  • Sports
  • Misc
  • Computer Games
Digital Living
  • Hardware
  • New Net Users
  • New Users
  • Software
  • Digital Music
  • Gaming World
  • Home Security
  • Apple
  • Networking Hardware
Virus & Spyware
  • Vulnerabilities
  • IDS
  • Encryption
  • Anti-Virus
  • Operating Systems Security
  • Software Firewalls
  • WebApplications
  • Cell Phones
  • Operating Systems
  • Internet
  • Hardware Firewalls
Hardware
  • Handhelds / PDAs
  • Displays / Monitors
  • Components
  • Networking Hardware
  • Peripherals
  • Laptops/Notebooks
  • Storage
  • Servers
  • Desktops
  • New Users
  • Misc
  • Apple
Software
  • System Utilities
  • Industry Specific
  • Network Management
  • Photos / Graphics
  • Page Layout
  • VMWare
  • Misc
  • Web Development
  • OS
  • CYGWIN
  • Voice Recognition
  • Message Queue
  • Quality Assurance
  • Security
  • Firewalls
  • MultiMedia Applications
  • Development
  • Database
  • Office / Productivity
  • Business Management
  • OS/2 Apps
  • Server Software
  • Internet / Email
ITPro
  • OS
  • Storage
  • Encryption
  • Operating Systems Security
  • Apple Hardware
  • Laptops & Notebooks
  • Servers
  • Networking Hardware
  • Peripherals
  • Devices
  • Displays / Monitors
  • WebTrends / Stats
  • Search Engines
  • Firewalls
  • WebApplications
  • IDS
  • Vulnerabilities
  • Email Clients
  • File Sharing
  • Spy / Ad Blockers
  • Web Browsers
  • Web Servers
  • Networking
  • Anti-Virus
  • Chat / IM
  • Anti Spam
Developer
  • Web Servers
  • Web Browsers
  • Game Programming
  • Dev Tools
  • Industry Specific
  • Office / Productivity
  • Database
  • CYGWIN
  • Web Development
  • Search Engines
  • File Sharing
  • WebTrends / Stats
  • Programming
  • Content Management
  • Application Servers
  • Protocols
Storage
  • Removable Backup Media
  • Storage Technology
  • Servers
  • Grid
  • Remote Access
  • Backup / Restore
  • Misc
  • Hard Drives
OS
  • Miscellaneous
  • Security
  • Development
  • Linux
  • VMWare
  • MainFrame OS
  • Unix
  • Apple
  • OS / 2
  • AS / 400
  • BeOS
  • Microsoft
  • VMS / OpenVMS
Database
  • Oracle
  • Miscellaneous
  • MySQL
  • Software
  • Sybase
  • Contact Management
  • PostgreSQL
  • Data Manipulation
  • Clarion
  • InterSystems Cache
  • Siebel
  • MUMPS
  • OLAP
  • SQLBase
  • SAS
  • GIS & GPS
  • 4GL
  • Berkeley DB
  • DB2
  • Informix
  • Interbase / Firebird
  • FoxPro
  • Reporting
  • LDAP
  • Filemaker Pro
  • MS SQL Server
  • dBase
  • MS Access
Security
  • Misc
  • Web Browsers
  • Software Firewalls
  • Operating Systems Security
  • File Sharing
  • Spy / Ad Blockers
  • Vulnerabilities
  • WebApplications
  • IDS
  • Anti-Virus
  • Encryption
  • Anti Spam
  • Email Clients
  • VPN
  • Chat / IM
Programming
  • Editors IDEs
  • Installation
  • Handhelds / PDAs
  • Multimedia Programming
  • System / Kernel
  • Algorithms
  • Game
  • Signal Processing
  • Project Management
  • Open Source
  • Database
  • Misc
  • Languages
  • Processor Platforms
  • Theory
Web Development
  • Scripting
  • Blogs
  • Web Servers
  • Software
  • Search Engines
  • Web Graphics
  • Images
  • Internet Marketing
  • Images and Photos
  • Components
  • Document Imaging
  • Web Languages/Standards
  • Illustration
  • WebApplications
  • Fonts
  • WebTrends / Stats
  • Authoring
  • Digital Camera Software
  • Miscellaneous
Networking
  • Protocols
  • Apple Networking
  • Network Management
  • Message Queue
  • Application Servers
  • Content Management
  • File Servers
  • Email Servers
  • Misc
  • Java Editors & IDEs
  • Wireless
  • Networking Hardware
  • Backup / Restore
  • System Utilities
  • ISPs & Hosting
  • Web Servers
  • Storage Technology
  • Removable Backup Media
  • Servers
  • Broadband
  • Grid
  • OS / 2
  • Novell Netware
  • Unix Networking
  • Windows Networking
  • Security
  • Telecommunications
  • Operating Systems
  • Linux Networking
Other
  • Community Advisor
  • Lounge
  • Community Support
  • New Net Users
  • Philosophy / Religion
  • Math / Science
  • Miscellaneous
  • URLs
  • Expert Lounge
  • Politics
  • Puzzles / Riddles
Community Support
  • Suggestions
  • New to EE
  • New Topics
  • Community Advisor
  • CleanUp
  • Announcements
  • General
  • Feedback
  • Input
  • EE Bugs
 
05.08.2008 at 10:25AM PDT, ID: 21526694
I have figured out how to access the Outlook Contacts through Ole.  I haven't gotten to the Calendar items yet but the interface should be the same.  I have included the code for accessing the FullName property of each Contact.  I couldn't find a comprehensive list in any documentation of how each of the contact properties must be called but with some experimentation I was able to figure out just about all of them.  To get the other properties just replace the parameter to contactItem.OlePropertyGet with one of these values:

Title
FirstName
MiddleName
LastName
Suffix
FullName
CompanyName
Department
JobTitle
BusinessAddressStreet
BusinessAddressCity
BusinessAddressState
BusinessAddressPostalCode
BusinessAddress
BusinessAddressCountry
HomeAddressStreet
HomeAddressCity
HomeAddressState
HomeAddressPostalCode
HomeAddress
HomeAddressCountry
OtherAddressStreet
OtherAddressCity
OtherAddressState
OtherAddressPostalCode
OtherAddress
OtherAddressCountry
AssistantTelephoneNumber
BusinessTelephoneNumber
Business2TelephoneNumber
BusinessFaxNumber
CallbackTelephoneNumber
CarTelephoneNumber
CompanyMainTelephoneNumber
HomeFaxNumber
HomeTelephoneNumber
Home2TelephoneNumber
ISDNNumber
MobileTelephoneNumber
OtherFaxNumber
OtherTelephoneNumber
PagerNumber
PrimaryTelephoneNumber
RadioTelephoneNumber
TTYTDDTelephoneNumber
TelexNumber
Account
Anniversary
AssistantName
BillingInformation
Birthday
BusinessAddressPostOfficeBox
Categories
Children
Email1Address
Email1AddressType
Email1DisplayName
Email2Address
Email2AddressType
Email2DisplayName
Email3Address
Email3AddressType
Email3DisplayName
Gender   //Unspecified=0, Female=1, Male=2
GovernmentIDNumber
Hobby    
HomeAddressPostOfficeBox
Initials
InternetFreeBusyAddress
Language
ManagerName
Mileage
OfficeLocation
OrganizationalIDNumber
OtherAddressPostOfficeBox
Importance  //Priority: Low=0, Normal=1, High=2
Profession
ReferredBy
Sensitivity  //Private: Normal=0, Personal=1, Private=2, Confidential=3
Spouse
User1
User2
User3
User4
WebPage


--Adrian
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
Variant Outlook = CreateOleObject( "Outlook.Application" );
Variant MAPINamespace = Outlook.OleFunction( "GetNamespace", "MAPI" );
Variant contactsFolder = MAPINamespace.OleFunction( "GetDefaultFolder", olFolderContacts );
Variant contactItems = contactsFolder.OlePropertyGet( "Items" );
Variant contactItemsCount = contactItems.OlePropertyGet( "Count" );
for( int i = 1; i <= contactItemsCount; i++ )
{
    Variant contactItem = contactItems.OleFunction( "Item", i );
    for( int j = 0; propertyList.setCurrent( j ); j++ )
    {
        Variant propertyValue = contactItem.OlePropertyGet( "FullName" );
    }
}
Open in New Window
 
 
20080236-EE-VQP-29 / EE_QW_2_20070628