![]() |
How to get folder size of a pst
Hello,
I need to have the folder size of a personal folder (pst) I've already implemented a simple (but slow) solution, may there is a better function already included in the outlook objects ? How does it works on "properties" - "folder size" ? It seams to be faster. Public Sub FolderCleanUp() Dim FolderSize As Long Dim myOlApp As Outlook.Application 'Outlook-Application Dim myNameSpace As Outlook.NameSpace Dim myFolder As Outlook.MAPIFolder Set myOlApp = CreateObject("Outlook.Application") Set myNameSpace = myOlApp.GetNamespace("MAPI") 'Scan all folders For Each myFolder In myNameSpace.Folders 'Determine Size of all elements in this folder incl. sub-folders FolderSize = DetermineSize(myFolder) Debug.Print (myFolder.Name & vbCrLf & _ " " & ShowSize(FolderSize)) NextFor: Next myFolder End Sub ' Rekursive Funktion zur Bestimmung der Größe aller Objekte in einem Ordner (inkl. Unterordner) Private Function DetermineSize(objFolder As MAPIFolder) As Long Dim i As Long DetermineSize = 0 'Die Größe der Objekte im Ordner addieren (Items) For i = 1 To objFolder.Items.Count DetermineSize = DetermineSize + objFolder.Items.Item(i).Size Next i 'Die Unterordner nun auch noch durchsuchen (Folder) For i = 1 To objFolder.Folders.Count DetermineSize = DetermineSize + DetermineSize(objFolder.Folders.Item(i)) Next i End Function |
How to get folder size of a pst
That's about it. You can probably add about 10% to your calculations for
hidden items, overhead data, etc. -- Ken Slovak [MVP - Outlook] http://www.slovaktech.com Author: Professional Programming Outlook 2007 Reminder Manager, Extended Reminders, Attachment Options http://www.slovaktech.com/products.htm "Lars" wrote in message ... Hello, I need to have the folder size of a personal folder (pst) I've already implemented a simple (but slow) solution, may there is a better function already included in the outlook objects ? How does it works on "properties" - "folder size" ? It seams to be faster. Public Sub FolderCleanUp() Dim FolderSize As Long Dim myOlApp As Outlook.Application 'Outlook-Application Dim myNameSpace As Outlook.NameSpace Dim myFolder As Outlook.MAPIFolder Set myOlApp = CreateObject("Outlook.Application") Set myNameSpace = myOlApp.GetNamespace("MAPI") 'Scan all folders For Each myFolder In myNameSpace.Folders 'Determine Size of all elements in this folder incl. sub-folders FolderSize = DetermineSize(myFolder) Debug.Print (myFolder.Name & vbCrLf & _ " " & ShowSize(FolderSize)) NextFor: Next myFolder End Sub ' Rekursive Funktion zur Bestimmung der Größe aller Objekte in einem Ordner (inkl. Unterordner) Private Function DetermineSize(objFolder As MAPIFolder) As Long Dim i As Long DetermineSize = 0 'Die Größe der Objekte im Ordner addieren (Items) For i = 1 To objFolder.Items.Count DetermineSize = DetermineSize + objFolder.Items.Item(i).Size Next i 'Die Unterordner nun auch noch durchsuchen (Folder) For i = 1 To objFolder.Folders.Count DetermineSize = DetermineSize + DetermineSize(objFolder.Folders.Item(i)) Next i End Function |
All times are GMT +1. The time now is 08:39 PM. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 2.4.0
Copyright ©2004-2006 OutlookBanter.com