2011-01-06 20 views
1

我在2個插件(一個用於Outlook 2007和一個用於Outlook 2010)中工作。這些插件需要做的一件事就是向主分類列表添加一個分類(如果該分類尚不存在)。如何爲多個Outlook帳戶的主分類列表添加分類?

這是我該怎麼辦:

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中都得到了這種行爲。有人可以幫我解決這個問題嗎?

感謝。

回答

1

您可以通過特定賬戶的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"); 
+0

謝謝,這做到了。 – Florin 2011-01-21 16:07:38

相關問題