![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Добрый день!
Есть 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; |