2017-08-25 1 views
2

Ich verwende den unten angegebenen Code, um gesendete Objekte in meine Access-db herunterladen. Obwohl Code funktioniert, durchläuft er alle gesendeten E-Mails, aber ich möchte die Schleife stoppen, nachdem er die Aktion für die letzten 10 Elemente im Ordner für gesendete Objekte ausgeführt hat. Ich verstehe, dass ich entweder einschränken Funktion oder tun kann, bis, aber ich bin nicht klar dabei tun könnten Sie helfen?So laden Sie 10 zuletzt gesendete E-Mails in MS-Zugriff

Private Sub sntml() 
Dim rst As DAO.Recordset 
Dim OlApp As Outlook.Application 
Dim stfldr As Outlook.MAPIFolder 
Dim stfldrItems As Outlook.Items 
Dim Mailobject As Object 
Dim db As DAO.Database 
Dim dealer As Integer 
Set db = CurrentDb 
Set OlApp = CreateObject("Outlook.Application") 
Set stfldr = OlApp.GetNamespace("Mapi").GetDefaultFolder(olFolderSentMail) 
Set rst= CurrentDb.OpenRecordset("ogmls") 
Set stfldrItems = stfldr.Items 
For Each Mailobject In stfldrItems 
    With rst 
        .AddNew 
        !Subject = Mailobject.Subject 
        !from = Mailobject.SenderName 
        !To = Mailobject.To 
        !Body = Mailobject.Body 
        !DateSent = Mailobject.SentOn 
        .Update 
        Mailobject.UnRead = False 
    End With 
End If 
Next 
Set OlApp = Nothing 
Set stfldr = Nothing 
Set stfldrItems = Nothing 
Set Mailobject = Nothing 
Set rst = Nothing 
End Sub 

Antwort

1

Zuerst müssen Sie die E-Mails nach der Empfangszeit sortieren. Dann lesen Sie die Top 10 E-Mails und beenden Sie die Schleife, wenn Sie fertig sind

+0

Vielen Dank! Wenn Sie die Antwort mögen, würde ich mich freuen, wenn Sie abstimmen können –

Verwandte Themen