Как добавить категорию в основной список категорий для нескольких учетных записей Outlook? - PullRequest
1 голос
/ 06 января 2011

Я работаю в 2 надстройках (один для Outlook 2007 и один для Outlook 2010). Одна из вещей, которую нужно сделать этим надстройкам, - добавить категорию в основной список категорий (если эта категория еще не существует).

Вот как я это делаю:

NameSpace oNS = Application.GetNamespace("MAPI");
if (oNS.Categories[Resources.MyCategoryName] == null)
  {
    oNS.Categories.Add(Resources.MyCategoryName, OlCategoryColor.olCategoryColorOrange, OlCategoryShortcutKey.olCategoryShortcutKeyNone);
  }

Проблема в том, что, когда у меня есть 2 или более учетных записей электронной почты в Outlook, новая категория добавляется только в список основных категорий первой учетной записи. Списки основных категорий других учетных записей остаются без изменений. Под «первым аккаунтом» я имею в виду первый аккаунт, созданный в outlook.

У меня такое поведение как в Outlook 2007, так и в 2010 году. Может ли кто-нибудь помочь мне в этом?

Спасибо.

1 Ответ

1 голос
/ 14 января 2011

Вы можете получить доступ к коллекции категорий для конкретной учетной записи через DeliveryStore из определенной учетной записи.

var account = Application.Session.Accounts[0];
var categories = account.DeliveryStore.Categories;

Если вы хотите найти свой аккаунт, вы всегда можете использовать linq

var account = Application.Session.Accounts.Cast<Account>()
    .FirstOrDefault(a => a.ExchangeMailboxServerName == "contoso.com");
...