Mega Code Archive

 
Categories / Delphi / Activex OLE
 

Contact list in MS Outlook

Title: contact list in MS Outlook Question: How can I read contacts from Outlook? Answer: As you know I like MS Outlook because there a lot of possibilities and OLE automation of Outlook allow to solve possible any task. Today I want continue a serie of tips for MS Outlook. So how to read a collection of Contacts which are exist in MS Outlook? This task is very popular. For example, you want to develop a sample tool which will notify you about birthday for someone or you want to send messages to "mailing list". So you want to naviagte thru list of defined contacts and process any item. Below you'll find a sample code: const olFolderContacts = $0000000A; var outlook, NameSpace, Contacts, Contact: OleVariant; i: Integer; begin outlook := CreateOleObject('Outlook.Application'); NameSpace := outlook.GetNameSpace('MAPI'); Contacts := NameSpace.GetDefaultFolder(olFolderContacts); for i := 1 to Contacts.Items.Count do begin Contact := Contacts.Items.Item(i); {now you can read any property of contact. For example, full name and email address} ShowMessage(Contact.FullName + ' '); end; Outlook := UnAssigned; end; if you need a birthday, you can retrieve it as DateToStr(Contact.Birthday) Any contact item have a lot of properties. See a list (alphabet): Birthday Business2TelephoneNumber BusinessAddress BusinessAddressCity BusinessAddressCountry BusinessAddressPostalCode BusinessAddressPostOfficeBox BusinessAddressState BusinessAddressStreet BusinessFaxNumber BusinessHomePage BusinessTelephoneNumber CompanyAndFullName CompanyMainTelephoneNumber CompanyName ComputerNetworkName Department Email1Address Email1AddressType Email1DisplayName Email2Address Email2AddressType Email2DisplayName Email3Address Email3AddressType Email3DisplayName FirstName FTPSite FullName FullNameAndCompany GovernmentIDNumber Hobby Home2TelephoneNumber HomeAddress HomeAddressCity HomeAddressCountry HomeAddressPostalCode HomeAddressPostOfficeBox HomeAddressState HomeAddressStree HomeFaxNumber HomeTelephoneNumber Initials ISDNNumber JobTitle Language LastName LastNameAndFirstName MailingAddress MailingAddressCity MailingAddressCountry MailingAddressPostalCode MailingAddressPostOfficeBox MailingAddressState MailingAddressStreet MiddleName NickName OfficeLocation OrganizationalIDNumber PersonalHomePage PrimaryTelephoneNumber Profession Suffix Title WebPage With best regards, Mike Shkolnik EMail: mshkolnik@scalabium.com http://www.scalabium.com