2011-12-18 16 views
0

初心者のヘルプが必要です。次のコードは、受信トレイの下にあるすべてのサブフォルダを数えますが、問題は常にこれらのサブフォルダの下にいくつかのフォルダがあることです。私はあなたが私の意味:)私はあなたが使用しているAPIを知らない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

あなたはすべてのサブディレクトリを含むディレクトリの下のファイルを数えるだろうか?問題は同じです。 –

答えて

2

を取得する場合、サブフォルダの下にサブフォルダをカウントする方法をワークアウト困難を抱えているが、あなたがする必要があります再帰的な方法に切り替えます。私はそれがこのようなものに見えるかもしれませんと思う:

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); 
+0

ありがとう、hawkke、これは治療を働いた! –

関連する問題