【问题标题】:C# Outlook distinguish folder by its special typeC# Outlook 按其特殊类型区分文件夹
【发布时间】:2016-03-04 00:11:00
【问题描述】:
我需要检查给定文件夹是否具有特殊类型。例如,我需要检查一个文件夹是否是发件箱文件夹。我知道我可以使用Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderOutbox); 检索发件箱文件夹
但这样我只能访问我的主邮箱的发件箱文件夹。由于我正在使用多个邮箱,这还不够。
我知道我可以通过检查文件夹名称来区分文件夹,但由于名称是本地化的并且它应该适用于每种语言,所以这是不可接受的解决方案。
或者也许有一种方法可以检索特殊类型的所有文件夹,例如发件箱,这会让我向前迈出一步。
感谢您的任何回复。
【问题讨论】:
标签:
c#
ms-office
add-in
outlook-2010
【解决方案1】:
我用
HashSet<string> excludeFolderIds = new HashSet<string>();
Outlook.Stores stores = application.Session.Stores;
foreach(Outlook.Store store in stores){
//exclude outbox folder from event
Outlook.MAPIFolder exclude = store.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderOutbox);
excludeFolderIds.Add(exclude.EntryID);
}
稍后通过调用excludeFolderIds.Contains(folder.EntryID)检查文件夹是否具有此类型
所以store.GetDefaultFolder(OlDefaultFolder) 是从其他帐户获取默认文件夹的关键