Outlookの共有メールボックスにフォルダとサブフォルダのリストを取得しようとしています。キャッシュされたExchangeモードとダウンロード共有フォルダの両方がチェックされています。 フォルダは3つまでのレベルです:受信ボックス=>会社=> ABC Company。以下は私のコードです。C#Outlook共有メールボックスがサブフォルダを間欠的に取得する
myApp = new Microsoft.Office.Interop.Outlook.Application();
ns = myApp.Session;
stores = ns.Stores;
for (int i = 1; i <= stores.Count; i++)
{
var _store = stores[i];
if (_store.DisplayName.ToLower().Contains(displayName.ToLower()))
{
store = _store;
break;
}
}
rootFolder = store.GetRootFolder();
folders = rootFolder.Folders;
for (int i = 1; i < folders.Count; i++)
{
mainfolder = (Microsoft.Office.Interop.Outlook.MAPIFolder)folders[i];
if (mainfolder != null)
{
if (mainfolder.Name.Trim().ToLower() == mainfolderName.Trim().ToLower())
{
foreach (Microsoft.Office.Interop.Outlook.MAPIFolder f in mainfolder.Folders)
{
if (f.Name.Trim().ToLower() == folderName.Trim().ToLower())
{
folder = f;
if (subFolderName != "")
{
foreach (Microsoft.Office.Interop.Outlook.MAPIFolder sub in f.Folders)
{
if (sub.Name.Trim().ToLower() == subFolderName.Trim().ToLower())
{
subfolder = sub;
break;
}
}
}
break;
}
}
break;
}
}
}
それは成功した最初のレベルを取得 - 受信トレイ、下書き、アーカイブ、迷惑メールなどをしかし、それは常にセカンドレベルを得ることはありません、mainfolder.Folders.Countは0を返し、私は逃した何かがありますか?ありがとうございました。
実際にOutlookでこれらのフォルダを表示できますか?キャッシュモードを無効にしようとしましたか? –
はい、Outlookのこれらのフォルダが表示されます。キャッシュモードを無効にすると、Outlookはいつか応答しなくなり、私たちのITチームのようにはできません。私は時にはなぜ時には働くか、時には理解できない。それはインターネット接続と関係がありますか? – rjs123431