Ich habe eine Suche, die nach Unterordnern des Posteingangs auf Betreffzeile sucht. Ich versuche, die letzte Mail zurückzukehren und haben den Code unter Verwendung von:VBA Outlook - Sortierung nach Datum Confusion
Items.Sort "[ReceivedTime]", True
Ich habe auch versucht Creation und Senton zwischen den Klammern. Aber die Suche liefert die gesuchten E-Mails mit der gleichen Betreffzeile in der folgenden Reihenfolge:
9/23/2016 9:31 AM
10/19/2016 12:57 PM
9/29/2016 10.54
Mein Code: Dim Fldr Wie Outlook.MAPIFolder Dim Elemente als Outlook.Items Dim olMail As Variant
Set oOLapp = CreateObject("Outlook.application")
Set olNs = oOLapp.GetNamespace("MAPI")
For step = 1 To MaxCount
Set Fldr = olNs.GetDefaultFolder(olFolderInbox)
For Each Fldr in Fldr.Folders
Set Items = Fldr.Items
Items.Sort "[ReceivedTime]", True
For Each olMail in Items
If InStr(olMail.Subject, "Text" & Cstr(step))
olMail.Display Then
Set Msg = oOLapp.CreateItem(olMailItem)
.Attachments.Add olMail, olEmbeddeditem
Set Msg = Nothing
End If
Next
Next
Next
Ich möchte nur eine neueste Instanz der Mail mit der gesuchten Betreffzeile. Irgendwelche Ideen, warum es die früheste Post zurückbringt und dann die neueste?
Ich habe auch versucht, den Code unten, wo die meisten Leute scheinen den meisten Erfolg zu haben, wenn die aktuellste Code wiederzufinden versucht, aber ich erhalte eine Error404 besagt, dass „Array-Index außerhalb der Grenzen“.
For step = 1 To MaxCount
Set Fldr = olNs.GetDefaultFolder(olFolderInbox)
For i = Fldr.Folders.Count To 1 Step -1
Set Fldr = Fldr.Folders(i)
For a = Fldr.Items.Count To 1 Step - 1
Set olMail = Fldr.Items(a)
//Search and attachment code. See previous code
Next
Next
Next
ERGEBNIS:
Mein Code die E-Mail in der angegebenen Reihenfolge zieht basierend auf den Ordner, die er in sieht also die Mail mit den frühesten Zeitstempel in einen Ordner ging, die vor der erschien. andere Mail, deshalb hat mein Code immer den frühesten statt den letzten gezogen.
Bitte zeigen Sie Ihren vollständigen Code. Rufen Sie MAPIFolder.Items nur einmal ab und zwischenspeichern Sie es für alle Aufrufe? Oder rufen Sie jedes Mal MAPIFolder.Items auf? –
@DmitryStreblechenko Ich habe meinen Code jetzt in meinen Beitrag aufgenommen. – Joshua
Mit welchem Code werden die Elemente protokolliert? Sind Sie sicher, dass die ReceivedTime-Eigenschaft protokolliert wird? –