Der nachfolgende VBA Code soll die letzten beiden E-Mails aus dem "gesendete Elemente"-Ordner in Outlook lokal speichern. Das funktioniert auch, allerdings wird die 1. Mail immer mit dem Typ "Datei" gespeichert, während die 2. Mail im korrekten Format "Outlook Element" gespeichert wird. Es sollen aber beide Dateien mit dem Format "Outlook Element" bzw. mit der Dateiendung .msg gespeichert werden. Könnt ihr mir sagen, weshalb dieses Phänomen auftritt?
Sub EMailsSpeichern()
Dim OutlookApp As Outlook.Application
Dim Namespace As Outlook.Namespace
Dim Folder As Outlook.Folder
Dim MailItem As Outlook.MailItem
Dim i As Integer
Dim SaveFolder As String
' Ordnerpfad, in dem die E-Mails gespeichert werden sollen
SaveFolder = "XXX Platzhalter XXX"
' Outlook-Instanz erstellen
Set Namespace = GetNamespace("MAPI")
' Gesendete Elemente Ordner öffnen
Set Folder = Namespace.GetDefaultFolder(olFolderSentMail)
' Die letzten beiden E-Mails speichern
For i = Folder.Items.Count To Folder.Items.Count - 2 Step -1
If i 1 Then Exit For 'Falls weniger als 2 E-Mails vorhanden sind
Set MailItem = Folder.Items(i)
' E-Mail speichern
MailItem.SaveAs SaveFolder & MailItem.Subject & ".msg", olMSG
Set MailItem = Nothing
Next i
' Aufräumen
Set Folder = Nothing
Set Namespace = Nothing
Set OutlookApp = Nothing
MsgBox "Die E-Mails wurden erfolgreich gespeichert."
End Sub