Outlookのサブフォルダ下などのサブフォルダを含む受信トレイのサブフォルダをカウントする方法

初心者の助けが必要です。次のコードは、受信トレイの下にあるすべてのサブフォルダを数えますが、問題は常にこれらのサブフォルダの下にいくつかのフォルダがあることです。私はあなたが私の意味を得る場合、サブフォルダの下にサブフォルダを数える方法を解決することが難しいです:)

MAPIFolder oFolder = this.ns.GetSharedDefaultFolder(oRecip, OlDefaultFolders.olFolderInbox);
int result = oFolder.Folders.Count;
foreach (MAPIFolder subFolder in oFolder.Folders)
   {
       result =+ oFolder.Folders.Count;
   }
tbFolderItemCount.Text = result.ToString();
0
すべてのサブディレクトリを含むディレクトリ下のファイルをどのように数えますか?問題は同じです。
追加された 著者 L.B,

1 答え

あなたが使っているAPIは分かりませんが、再帰的な方法に切り替える必要があります。私はそれが次のように見えるかもしれないと思う:

public int CountSubfolders(MAPIFolder folder)
{
    int count = folder.Folders.Count;

    foreach (MAPIFolder subfolder in folder.Folders)
    {
        count += CountSubfolders(subfolder);
    }

    return count;
}

そしてあなたはあなたのルートフォルダでそれを呼び出すでしょう:

MAPIFolder oFolder = this.ns.GetSharedDefaultFolder(oRecip, OlDefaultFolders.olFolderInbox);

int subfolders = CountSubfolders(oFolder);
2
追加された
ありがとうhawkke、これは治療を働いた!
追加された 著者 Dan Ergis,