Представление глобального списка адресов Outlook - PullRequest
0 голосов
/ 12 июня 2009

Мне нужно создать элемент управления, который имеет ту же функциональность, что и кнопка Outlook To ... в новом письме (т. Е. При щелчке создается модальное диалоговое окно, которое содержит весь глобальный список адресов в списке).

У меня нет проблем с доступом к этим данным, у меня есть список AddressEntries, которые я хочу представить в ListBox, однако из-за размера набора данных (~ 300K записей) это оказывается очень трудным.

Я бы хотел избежать потоковой передачи около 100 записей одновременно, так как outlook этого не делает.

Кто-нибудь знает хороший способ сделать это?

Если это поможет, код, который я использую для получения списка адресов:

public AddressEntries GetGlobalAddressList()
        {
            Outlook.Application oApp = new Outlook.Application();
            Outlook.NameSpace oNS = oApp.GetNamespace("mapi");
            oNS.Logon(Missing.Value, Missing.Value, false, true); 
            Outlook.AddressLists oDLs = oNS.AddressLists;  
            Outlook.AddressList oGal = oDLs["Global Address List"];  
            Outlook.AddressEntry oEntry = default(Outlook.AddressEntry);

            return oGal.AddressEntries;            

         }

1 Ответ

1 голос
/ 13 июня 2009

Вероятно, самый простой способ - использовать CDO Session.AddressBook(). Или используйте погашение (http://www.dimastr.com/redemption/) RDO AddressBook, если вы хотите обойти запросы безопасности и т. Д.

...