这里是每个文件夹的详细信息。现在我想限制它只列出“收件箱下的文件夹”实际上现在我想列出收件箱下的文件夹。(我在收件箱下创建了文件夹。我不想显示发件箱、草稿等。 。上 )
我的代码。
private IEnumerable<MAPIFolder> GetAllFolders(Folders folders)
{
foreach (MAPIFolder f in folders)
{
yield return f;
foreach (var subfolder in GetAllFolders(f.Folders))
{
yield return subfolder;
}
}
}
按钮点击事件
private void button1_Click(object sender, EventArgs e)
{
Microsoft.Office.Interop.Outlook.Application oApp =
new Microsoft.Office.Interop.Outlook.Application();
Microsoft.Office.Interop.Outlook._NameSpace ns =
(Microsoft.Office.Interop.Outlook._NameSpace)oApp.GetNamespace("MAPI");
// in here i get the error "userd of unassign local variable".
// without this line code works fine and return all the Folders &
// Sub folders.
Microsoft.Office.Interop.Outlook.MAPIFolder oPublicFolder =
olNS.GetDefaultFolder(
Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox);
foreach (var f in GetAllFolders(ns.Folders))
{
//if (f == oPublicFolder) continue;
if (f.DefaultItemType == OlItemType.olMailItem)
{
string ff = f.Name;
//Some codings here
}
}
}
这有时是一个愚蠢的问题,因为有时它可能非常简单。但我在这里向你求助。