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

VBAで全ての受信トレイの数ではなく受信メールの数を取得する方法は?

Sub めーる数()
Dim myNaSp As NameSpace
Dim myFolder As MAPIFolder

Set myNaSp = GetNamespace("MAPI")
Set myFolder = myNaSp.GetDefaultFolder(olFolderInbox)

Debug.Print myFolder.Items.Count

Set myNaSp = Nothing
Set myFolder = Nothing
End Sub

このコードだと、「受信トレイ」のメールの数しか取得できません。

フォルダは画像のように、サブフォルダがあります。
この場合、全ての受信メール(受信トレイ+サブフォルダ)の数を取得するにはどうすればいいでしょう?

「VBAで全ての受信トレイの数ではなく受信」の質問画像

A 回答 (1件)

JOZCNEYGQSEOさん


こんにちは

myFolderの下層フォルダを取得すれば良いと思います。

myFolder.Folders.Count … myFolderの下層フォルダ数
myFolder.Folders(1).name … myFolderの下層フォルダの1つ目のフォルダ名
myFolder.Folders(1).Items.Count … myFolderの下層フォルダの1つ目のメール数

全体件数はFor ~ Next等で件数を集計すれば良いです。

お試しください。
    • good
    • 1
この回答へのお礼

ありがとうございました。大変参考になりました!

お礼日時:2013/02/18 21:45

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