我需要创建一个与新邮件上的Outlook To ...按钮功能相同的控件(即单击时,会创建一个模式对话框,其中包含整个列表框中的全局地址列表。)
我没有访问这些数据的问题,我有一个我希望在ListBox中显示的AddressEntries列表,但是,由于数据集的大小(~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;
}
答案 0 :(得分:1)
可能最简单的方法是使用CDO的Session.AddressBook()
。或者如果您想绕过安全提示等,请使用兑换(http://www.dimastr.com/redemption/)RDO AddressBook。