|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Работа с Глобальным списком адресов Outlook
Добрый день!
Есть VBA код: Sub test() Dim oNamespace As Namespace Dim oFolder As MAPIFolder Dim oContactItem As ContactItem Set oNamespace = Outlook.Application.GetNamespace("MAPI") Dim AE As AddressEntry Dim r r = 1 For Each AE In Outlook.Application.Session.AddressLists("Глобальн ый список адресов").AddressEntries Cells(r, 1) = AE.Name Cells(r, 2) = AE.Address r = r + 1 Next End Sub Как перевести его в формат Delphi 7? Какие еще поля списка можно вытащить кроме имени и адреса? |
#2
|
|||
|
|||
Чё, в гугле проблемы?
Код:
uses ComObj; ... procedure TForm1.Button1Click(Sender: TObject); var OutlookObj, ObjSpace, ObjFolder: Variant; i: Integer; Str: string; begin OutlookObj:=CreateOleObject('Outlook.Application'); ObjSpace:=OutlookObj.GetNameSpace('MAPI'); ObjFolder:=ObjSpace.GetDefaultFolder(10); for i:=1 to ObjFolder.Items.Count do begin Str:=''; Str:=ObjFolder.Items[i].CompanyAndFullName+' - '+ ObjFolder.Items[i].Email1Address; Memo1.Lines.Add(Str); end; OutlookObj.Quit; end; Downlo |
#3
|
|||
|
|||
Ну, так прочитать список контактов можно, но не Глобальный список адресов.
|
#4
|
|||
|
|||
Ну я ж говорю - с гуглом проблемы...
Вторая ссылка в выдаче: Код:
procedure TForm1.BtnGetUsersClick(Sender: TObject); var OutlookApp, MapiNamespace, AddrList, AddressEntries: Variant; AddrEntry: string; begin //Get the Outlook Application object. OutlookApp := CreateOleObject('Outlook.Application'); //Get the MAPI NameSpace object. MapiNamespace := OutlookApp.GetNameSpace('MAPI'); AddrList := MapiNamespace.AddressLists('Global Address List'); AddressEntries := AddrList.AddressEntries; try try ListBox1.Items.Clear; AddrEntry := AddressEntries.GetFirst; repeat ListBox1.Items.Add(AddrEntry); AddrEntry := AddressEntries.GetNext; until false; except // we must be at the end end; finally ListBox1.Items.Add(AddrEntry); OutlookApp := NULL; end; end; |