dポイントプレゼントキャンペーン実施中!

「VBSでメール件数カウント」の続きなのですが、

「受信フォルダ」の下にサブフォルダがあった場合の、
件数カウントはどうすればよいでしょうか?

試しに作ってみましたのですが、自信がないので、
よろしければ診ていただけないでしょうか?
------------------------------------------------------------
Private Function Cnt_MailItem

Cnt_MailItem = 0

Set oApp = CreateObject("Outlook.Application")
Set oNs = oApp.GetNameSpace("MAPI")
Set oFol = oNs.GetDefaultFolder(6) '受信アイテイム

Cnt_MailItem = oFol.Items.Count

'サブフォルダカウント
Cnt_MailItem = Cnt_MailItem + Cnt_SubFol(oFol)

msgbox "メール数:" & Cnt_MailItem

End Function

'サブカウント
Private Function Cnt_SubFol(byVal pFol )

'サブがない場合は数えない
If pFol.Folders.Count <= 0 Then
Exit Function
End If

For i = 1 To pFol.Folders.Count
Set oItems = pFol.Folders.Item(i)
Cnt_SubFol = Cnt_SubFol + oItems.Items.Count + Cnt_SubFol(oItems)
next

Set oItems = Nothing

End Function
------------------------------------------------------------

よろしくお願い致します。

A 回答 (2件)

ロジックとしては、あるフォルダ以下にあるファイル数を求めることと同じです。


まずはFileSystemObjectを使って、処理の流れに間違いがないか確認されてはいかがでしょう?
それがクリアされていれば、Outlookオブジェクトに置きえればいいだけです。
    • good
    • 0
この回答へのお礼

なるほど!!
確認してみます。

アドバイスありがとうございます。

お礼日時:2009/10/26 15:52

実際に動かしてして問題があったのでしょうか?


動作確認を回答者にさせたいということでしょうか?

この回答への補足

動かせる環境がなかったので、投稿させていただきました。
ご無礼をお詫びします。

補足日時:2009/10/26 11:09
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!