2017-06-27 2 views
1

Ich möchte alle meine E-Mails in einem bestimmten Ordner mithilfe von Outlook MAPI auflisten. Ich habe versucht, den folgenden Code,Alle E-Mails im Ordner mit Outlook MAPI auflisten

, aber es zeigt nur 400 von den 20.000 E-Mails in dem Ordner. Ich würde es sehr schätzen, wenn jemand mir bitte zeigen könnte, wie man alle der E-Mails auflisten kann.

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 

Antwort

0

Ist das ein Online-Profil? Höchstwahrscheinlich werden Sie zu viele Elemente öffnen (für jede Schleife werden alle Elemente beibehalten, bis die Schleife beendet wird). Verwenden Sie stattdessen das Objekt Table - siehe Beispiel unter https://msdn.microsoft.com/VBA/Outlook-VBA/articles/folder-gettable-method-outlook.

+0

ja, es ist Online-E-Mail-Service. –

+0

Ich meinte "online" wie in nicht gepufferten vs im Cache (OST) Exchange-Profil. –

+0

Es ist Online-E-Mail-Dienst (IMAP), ich habe versucht, Tabelle Objekt, aber Tabelle Objekt kann auch nur 400 begrenzte Anzahl zugreifen. Danke deine Hilfe. Wie kann ich auf die nächste E-Mail mehr als limited count 400 zugreifen? –

Verwandte Themen