我想使用 Outlook MAPI 列出特定文件夹中的所有电子邮件。我试过下面的代码,
但它只显示文件夹中 20,000 封电子邮件中的 400 封。如果有人能告诉我如何列出所有电子邮件,我将不胜感激。
Sub EmailListinFolder()
Dim mn As Long
Dim Message As String
Dim item As Object
Dim NS As Object
Dim Folder As Object
'Get the MAPI Name Space
Set NS = CreateObject("Outlook.Application").GetNamespace("MAPI")
'Allow the user to select a folder in Outlook
Set Folder = NS.PickFolder
For Each item In Folder.Items
If item.Class = olMail Then
Message = item.Subject & "|" & item.CreationTime
If Len(Message) Then
mn = mn + 1
End If
End If
Next item
MsgBox (mn)
End Sub
那是在线个人资料吗?很可能您最终打开了太多项目(对于每个循环,所有项目都会被引用,直到循环退出)。改用Table
对象 - 请参阅https://msdn.microsoft.com/VBA/Outlook-VBA/articles/folder-gettable-method-outlook 中的示例。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句