如何通过“添加”设置默认地址簿

问题描述 投票:0回答:1

我需要更改用户在撰写电子邮件时看到的地址簿。但我找不到任何选择这样做。

一般来说,我看到了解决这个问题的两种方法:1)设置默认地址簿2)当用户打开“选择名称”对话框并修改初始地址列表时做出反应

对于选项1,我找不到任何功能来执行此操作,对于选项2,我只有部分解决方案。

foreach (Outlook.AddressList addrList in addrLists)
{
    Outlook.Folder testFolder = addrList.GetContactsFolder() as Outlook.Folder;

    if (Application.Session.CompareEntryIDs(testFolder.EntryID, addressbookID))
    {
        writeLog("passendes Adressbuch gefunden", 4);
        namesDialog.InitialAddressList = addrList;
        namesDialog.Display();
    }
}

使用此代码,我可以设置初始地址列表并显示对话框,但我不知道按下“to”,“cc”“bcc”按钮时发生的事件。

有任何想法吗?

c# outlook-addin
1个回答
0
投票

当用户单击To / CC / BCC按钮时,您无法覆盖Outlook行为。 InitialAddressList属性仅适用于您明确显示地址簿对话框的情况。

在MAPI级别(C ++或Delphi)上,您需要调用IAddrBook.SetDefaultDir传递容器的条目id(以及在配置文件部分中将PR_AB_CHOOSE_DIRECTORY_AUTOMATICALLY属性设置为false)。

Outlook对象模型不公开该功能。如果使用Redemption是一个选项(我是它的作者),它会暴露RDOAddressBook.DefaultAddressList r / w属性。

© www.soinside.com 2019 - 2024. All rights reserved.