Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Получить все контакты Outlook

Delphi , Интернет и Сети , Почтовый клиент

Получить все контакты Outlook

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

{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.}

 uses ComObj;


 procedure TForm1.Button1Click(Sender: TObject);
 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 + ' <' + Contact.Email1Address + '>');
   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}

Перевод контента на русский язык:

Это код Delphi, который использует библиотеку COM (Component Object Model) для взаимодействия с Microsoft Outlook. Цель этого кода - получить все контакты из Outlook и отобразить их полное имя и электронную почту.

Распределение работы кода:

  1. Функция CreateOleObject создает экземпляр объекта приложения Outlook.
  2. Метод GetNameSpace возвращает стандартный пространство для MAPI (Messaging Application Programming Interface).
  3. Метод GetDefaultFolder получает стандартную папку контактов.
  4. Код затем проходит через все элементы в папке контактов с помощью цикла for и присваивает каждому элементу переменной Contact.
  5. Для каждого контакта код отображает полное имя и электронную почту с помощью процедуры ShowMessage.

Комментированная секция показывает, как можно получить другие свойства контакта, такие как его дата рождения.

Некоторые примечания:

  • Код использует тип OleVariant для взаимодействия с объектами Outlook, что позволяет работать с компонентами COM.
  • Константа UnAssigned используется для освобождения ресурсов после выполнения процедуры.
  • Этот код предполагает, что у вас установлен и настроен Microsoft Outlook на вашем системе.

Если вам нужно получить все контакты из Outlook, этот код должен сделать это. Однако, если вам нужна более сложная функциональность или обработка ошибок, вы может быть хотели использовать более robust библиотеку или фреймворк.

Вот альтернативное решение в Delphi:

uses ComObj;

procedure TForm1.Button1Click(Sender: TObject);
var
  outlook: OleVariant;
  namespace: OleVariant;
  contacts: OleVariant;
  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);
    ShowMessage(contact.FullName + ' <' + contact.Email1Address + '>');
  end;

  outlook := UnAssigned;
end;

Этот код похож на оригинальный, но использует более компактный синтаксис и удаляет ненужные комментарии.

Получить все контакты Outlook: использовать компонент ComObj и создать приложение, которое будет выводить информацию о полном имени и электронной почте контакта.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Почтовый клиент ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-10-24 20:01:33/0.00370192527771/0