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

Создать новый контакт в Outlook

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

Создать новый контакт в Outlook

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

uses
   ComObj, Variants, SysUtils;

 type
   TContact = record
     LastName: string;
     FirstName : string;
     Company : string;
     // ###  Further properties. See MSDN 
  end;


   //------------------------------------------------------------------------------ 
{:Add outlook contact 

@param ContactFolderPath The contact path. E.g.: '' for default contact folder, 
  'SubFolder\Sub2\Test' for subfolders 
@param Contact The contact informations. 
@author 19.09.2003 Michael Klemm}
   //------------------------------------------------------------------------------ 
procedure OutlookAddContact(ContactFolderPath : string; Contact : TContact);
 const
   olFolderContacts = $0000000A;
 var
   Outlook : OleVariant;
   NameSpace : OleVariant;
   ContactsRoot : OleVariant;
   ContactsFolder : OleVariant;
   OutlookContact : OleVariant;
   SubFolderName : string;
   Position : integer;
   Found : boolean;
   Counter : integer;
   TestContactFolder : OleVariant;
 begin
   // Connect to outlook 
  Outlook := CreateOleObject('Outlook.Application');
   // Get name space 
  NameSpace := Outlook.GetNameSpace('MAPI');
   // Get root contacts folder 
  ContactsRoot := NameSpace.GetDefaultFolder(olFolderContacts);
   // Iterate to subfolder 
  ContactsFolder := ContactsRoot;
   while ContactFolderPath <> '' do
   begin
     // Extract next subfolder 
    Position := Pos('\', ContactFolderPath);
     if Position > 0 then
     begin
       SubFolderName := Copy(ContactFolderPath, 1, Position - 1);
       ContactFolderPath := Copy(ContactFolderPath, Position + 1, Length(ContactFolderPath));
     end
     else
     begin
       SubFolderName := ContactFolderPath;
       ContactFolderPath := '';
     end;
     if SubFolderName = '' then
       Break;
     // Search subfolder 
    Found := False;
     for Counter := 1 to ContactsFolder.Folders.Count do
     begin
       TestContactFolder := ContactsRoot.Folders.Item(Counter);
       if LowerCase(TestContactFolder.Name) = LowerCase(SubFolderName) then
       begin
         ContactsFolder := TestContactFolder;
         Found := True;
         Break;
       end;
     end;
     // If not found create 
    if not Found then
       ContactsFolder := ContactsFolder.Folders.Add(SubFolderName);
   end;
   // Create contact item 
  OutlookContact := ContactsFolder.Items.Add;
   // Fill contact information 
  OutlookContact.FirstName := Contact.FirstName;
   OutlookContact.LastName := Contact.LastName;
   OutlookContact.CompanyName := Contact.Company;

   // ### Further properties 

  // Save contact 
  OutlookContact.Save;
   // Disconnect from outlook 
  Outlook := Unassigned;
 end;

Программа на Delphi, которая создает новый контакт в Microsoft Outlook с помощью автоматизации COM.

Типы и переменные

Программа определяет тип записи TContact для хранения информации о контакте, включая фамилию, имя и компанию.

Также объявлены OleVariant-переменные для взаимодействия с Outlook: Outlook, Namespace, ContactsRoot, ContactsFolder, OutlookContact и TestContactFolder. Другие переменные включают в себя строку SubFolderName, целочисленную переменную Position, булевскую переменную Found и целочисленную переменную Counter.

Главная процедура

Главная процедура, OutlookAddContact, принимает два параметра: ContactFolderPath (строка) и Contact (запись типа TContact). Она подключается к Outlook с помощью функции CreateOleObject, получает пространство имен и 기본ную папку контактов, а затем перебирает подпапки в указанной пути контакта.

Для каждой подпапки она поиска существующей папки с тем же именем. Если не найдена, создается новая папка. Once it reaches the desired folder, it creates a new contact item using ContactsFolder.Items.Add, fills in the contact information (first name, last name, company), and saves the contact.

Замечания

  • Программа предполагает, что приложение Outlook уже установлено на системе.
  • Код использует автоматизацию COM для взаимодействия с Outlook, что требует регистрации библиотеки Outlook на системе.
  • Функция CreateOleObject создает новый экземпляр объекта приложения Outlook.
  • Метод GetNameSpace возвращает объект пространства имен для доступа к папкам Outlook.
  • Метод GetDefaultFolder возвращает 기본ную папку контактов.
  • Программа использует функцию Pos для извлечения имен подпапок из пути контакта.
  • Функция LowerCase используется для сравнения имен папок в нечувствительном к регистру порядке.

Альтернативное решение

Если вам не нравится использовать автоматизацию COM, вы можете рассмотреть использование библиотеки, такой как интеграция Outlook в Delphi или третьесторонней библиотеки, такой как OleView. Эти библиотеки предоставляют более натуральный способ взаимодействия с Outlook без использования автоматизации COM.

В этой статье описывается функция, которая позволяет создавать новые контакты в приложении Microsoft Outlook с помощью языка программирования Delphi.


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

Получайте свежие новости и обновления по 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:17/0.0036089420318604/0