5

我通过以下方式获取我的默认收件箱文件夹inboxFolder = Globals.ThisAddIn.Application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox

在我的代码的其他地方,我开始执行 foreach 循环以从这些 MailItems 中提取我想要的特定信息

foreach (var item in this.inboxFolder.Items)
{
   Outlook.MailItem mailItem = (Outlook.MailItem)item;
   //.... doing stuff here
   string SenderEmail = mailItem.SenderEmailAddress;
   string SenderName = mailItem.SenderName;
   string FolderLocation = mailItem.???;  //how to retrieve folder location?
   //.... more stuff here
}

例如:用户可能创建了一个名为“Test”的子文件夹,如下所示。

Outlook-2010 中用户创建的子文件夹的图像

4

2 回答 2

7

谢谢各位大侠指点。但是,我最初在实施相同时遇到了一些麻烦。这是我解决它的方法,以防万一有人遇到同样的问题。

Outlook.MAPIFolder parentFolder = mailItemToDelete.Parent as Outlook.MAPIFolder;
string FolderLocation = parentFolder.FolderPath;

Parent 对象是动态的,因此引起了问题。

于 2017-06-07T06:00:32.803 回答
3

你的意思是文件夹路径?使用 MAPIFolder.FullFolderPath。或 MAPIFoldert.Name 如果您只需要名称。

还要记住,文件夹中所有项目的值都相同,因此没有理由在循环的每个步骤中对其进行评估。

于 2013-04-15T16:23:08.840 回答