Создать новый контакт в OutlookDelphi , Интернет и Сети , Почтовый клиентСоздать новый контакт в Outlook
Оформил: DeeCo 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. Типы и переменные Программа определяет тип записи Также объявлены OleVariant-переменные для взаимодействия с Outlook: Главная процедура Главная процедура, Для каждой подпапки она поиска существующей папки с тем же именем. Если не найдена, создается новая папка. Once it reaches the desired folder, it creates a new contact item using Замечания
Альтернативное решение Если вам не нравится использовать автоматизацию COM, вы можете рассмотреть использование библиотеки, такой как интеграция Outlook в Delphi или третьесторонней библиотеки, такой как OleView. Эти библиотеки предоставляют более натуральный способ взаимодействия с Outlook без использования автоматизации COM. В этой статье описывается функция, которая позволяет создавать новые контакты в приложении Microsoft Outlook с помощью языка программирования Delphi. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Почтовый клиент ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |