1

私は2つのアドイン(Outlook2007用とOutlook2010用)で作業しています。これらのアドインが実行する必要があることの1つは、マスターカテゴリリストにカテゴリを追加することです(そのカテゴリがまだ存在しない場合)。

これは私がそれを行う方法です:

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

問題は、Outlookに2つ以上の電子メールアカウントがある場合、新しいカテゴリが最初のアカウントのマスターカテゴリリストにのみ追加されることです。他のアカウントのマスターカテゴリリストは変更されません。また、「最初のアカウント」とは、Outlookで作成された最初のアカウントを意味します。

Outlook 2007と2010の両方でこの動作が発生します。誰かがこれについて私を助けてくれますか?

ありがとう。

4

1 に答える 1

1

特定のアカウントからDeliveryStoreを介してアカウント固有のCategoriesコレクションにアクセスできます。

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");
于 2011-01-14T19:51:03.837 に答える