Emailnachricht auswählen / selektieren
11.04.2023 07:23:23
Stefan
Schönen guten morgen,
ich habe eine Frage hinsichtlich der Vorauswahl von Emailnachrichten.
Mit meinem Code wähle ich derzeit die letzte Email aus, die in meinem Postkorb empfangen wurde.
Hieraus extrahiere ich deren Anhang und speichere den Anhang in einem Pfad automatisch ab.
Hierfür verwende ich folgenden Code-Schnipsel:
Set olApp = CreateObject("outlook.application")
Set objFolder = olApp.GetNamespace("MAPI").GetDefaultFolder(6)
Set objArrayList = CreateObject("System.Collections.ArrayList")
'Emaileingänge mit Anhang in Array schreiben
For Each objItem In objFolder.Items
If objItem.Attachments.Count > 0 Then
objArrayList.Add objItem.ReceivedTime
End If
Next
'Array sortieren
For i = objArrayList.Count To 0 Step -1
For J = i - 1 To 0 Step -1
If objArrayList(i - 1) > objArrayList(J) Then
temp = objArrayList(J)
objArrayList(J) = objArrayList(i - 1)
objArrayList(i - 1) = temp
End If
Next
Next
'Älteste und neueste Mail Eingangszeit ausgeben
vNewest = objArrayList(0)
vOldest = objArrayList(objArrayList.Count - 1)
zeit2 = vNewest
For Each objItem In objFolder.Items
zeit1 = objItem.ReceivedTime()
If zeit1 = zeit2 Then
MakeSureDirectoryPathExists sPfadImport
For lngAttachCount = objItem.Attachments.Count To 1 Step -1
Anz = Anz + 1
Extention = Mid(objItem.Attachments.Item(lngAttachCount).FileName, InStrRev(objItem.Attachments.Item(lngAttachCount).FileName, "."))
If Extention = ".jpeg" Then Extention = ".jpg"
'Abspeichern
objItem.Attachments.Item(lngAttachCount).SaveAsFile sPfadImport & Format(Now(), "yyyy-mm-dd") & "_" & Format(Now(), "hh-mm-ss") & "_" & "Importdatei_(" & Anz & ")" & Extention
Next lngAttachCount
End If
Next
....
Meine Frage nun:
Kann man wie in einer Art "Datei-Explorer" per Mausklick eine Email in einer Vorauswahl auswählen, deren Anlagen ich dann importieren möchte ?
Derzeit nimmt er ja automatisch nur die letzte Email, die empfangen wurde. Ich stelle mir das so ähnlich vor wie bei Dateien, die ich ja wie folgt auswählen kann:
Application.GetOpenFilename(FileFilter:="Alle Dateien (*.*), *.*", title:="Datei importieren", MultiSelect:=True)
Vielen Dank für Eure Hilfe.
Anzeige