如果Outlook具有多个帐户,如何为所选帐户添加新的联系人项目?

时间:2014-03-31 07:47:44

标签: c# outlook

我想在Outlook中添加新的联系人项目。只有一个帐户,使用以下方法选择正确的文件夹很简单:

Outlook.Application outlookApp = new Outlook.Application();
MAPIFolder Folder_Contacts = (MAPIFolder) outlookApp.Session.GetDefaultFolder(OlDefaultFolders.olFolderContacts);

但是,用户在Outlook中有多个帐户。为了选择我使用的正确帐户:

        Outlook.Application outlookApp = new Outlook.Application();
        Outlook.NameSpace session = outlookApp.Session;
        Outlook.Accounts accounts = session.Accounts;
        MAPIFolder Folder_Contacts = null;
        foreach (Account account in accounts)
        {
            string name = account.DisplayName;
            if (name.Contains("The account to add the new contact"))
            {
                MAPIFolder folder_contacts = account.Session.GetDefaultFolder(OlDefaultFolders.olFolderContacts);
                ContactItem new_contact = folder_contacts.Items.Add(OlItemType.olContactItem);
            }

        }

但是,更改帐户不会更改联系人文件夹,但它始终会提供Outlook中第一个帐户的联系人文件夹。 有关如何选择合适的联系人文件夹的任何建议和提示吗?

1 个答案:

答案 0 :(得分:1)

您需要遍历Namespace.Stores集合中的商店,找到商店,并使用Store.GetDefaultFolder而不是Namespace.GetDefaultFolder。