View Single Post
  #2  
Old August 11th 07, 02:08 PM posted to microsoft.public.outlook.program_vba
BobM
external usenet poster
 
Posts: 7
Default get outlook mailbox size from vba

Sub GetFolderSize()
Dim lFolderSize As Long
Dim objSubFolder As MAPIFolder

Set objApp = CreateObject("Outlook.Application")
Set objNS = objApp.GetNamespace("MAPI")
Set objInbox = objNS.GetDefaultFolder(olFolderInbox)
Set objOutlookToday = objInbox.Parent

For Each objSubFolder In objOutlookToday.Folders
lFolderSize = lFolderSize + GetSubFolderSize(objSubFolder)
Next
MsgBox "Total Size = " & lFolderSize
End Sub

Function GetSubFolderSize(objFolder As MAPIFolder) As Long
Dim lFolderSize As Long
Dim objSubFolder As MAPIFolder

For Each objItem In objFolder.Items
lFolderSize = lFolderSize + objItem.Size
Next

' process all the subfolders of this folder
For Each objSubFolder In objFolder.Folders
'Do something with objFolder
lFolderSize = lFolderSize + GetSubFolderSize(objSubFolder)
Next

GetSubFolderSize = lFolderSize
Set objFolder = Nothing
Set objItem = Nothing
End Function
Ads