![]() |
If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
Thread Tools | Search this Thread | Display Modes |
|
#1
|
|||
|
|||
![]()
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 |
#2
|
|||
|
|||
![]()
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 |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
max OE 6 folder size? | Jack B | Outlook Express | 3 | August 18th 07 07:15 AM |
DBX Folder Size Limits | mcp6453 | Outlook Express | 1 | June 23rd 07 05:44 PM |
Obtaining Folder Size in Public Folder Favourites | Kentucky | Outlook and VBA | 0 | September 7th 06 05:14 PM |
Finding the size of Public Folder Favourites | Chris Briant | Outlook and VBA | 0 | August 19th 06 05:49 PM |
OE folder size limitation? | Bill H. | Outlook Express | 2 | February 23rd 06 07:52 AM |