2016-04-22 166 views
2

我需要在我的邮箱中进行一些清理,我想知道VBA中是否有函数可以让我获得文件夹中电子邮件的大小?确定Outlook文件夹中电子邮件的大小?

我将制作一个宏来解析所有文件夹并获取每个文件夹和子文件夹中的大小以查看空间被浪费的位置。

回答

3

尝试这样:

Public Sub PrintFolderSizes() 

Dim ns As NameSpace 
Dim folder As MAPIFolder 

Set ns = GetNamespace("MAPI") 

For Each folder In ns.Folders 
    ProcessFolder folder 
Next 

End Sub 

Private Sub ProcessFolder(folder As MAPIFolder) 

Dim folder2 As MAPIFolder 
Dim obj As Object 
Dim size As Double 

If Not folder.Items Is Nothing Then 
    For Each obj In folder.Items 
     size = size + obj.size 
    Next 
End If 

Debug.Print folder.Name & " - " & size 

For Each folder2 In folder.Folders 
    ProcessFolder folder2 
Next 

End Sub 
+0

它处理的文件夹中的顺序似乎是随机的。有什么方法可以按字母顺序排序吗? (最好与左图所示相同) –

相关问题