Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1940to1944
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Excel VBA Speichern unter des per VBA gesendeten E-Mail

Excel VBA Speichern unter des per VBA gesendeten E-Mail
09.08.2023 14:54:01
Christian Fuchs
Hallo Zusammen,

ich habe in Excel ein Programm in VBA geschrieben, welches eine E-Mail generiert, welche ich dann "von Hand" abschicke.

Ist es möglich, die gesendete E-Mail aus dem Outlook-Ordner "gesendete Elemente" zu "ziehen" und in einem bestimmten Pfad abzulegen?

Heißt: Ich möchte das E-Mail für alle zugänglich auf dem Laufwerk ablegen, welches als Nachweis dient, dass das E-Mail gesendet wurde.

Vielen Dank!

Grüße
Christian

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel VBA Speichern unter des per VBA gesendeten E-Mail
09.08.2023 16:45:46
Oberschlumpf
Hi Christian,

hier, versuch mal


Sub test()

Dim objApp As Object ' Outlook.Application
Dim objItem As Object ' Outlook.MailItem
Dim objFolder As Object
Dim item As Object
Dim i As Long
Dim x As String

Set objApp = CreateObject("Outlook.Application")
Set objFolder = objApp.GetNameSpace("MAPI").GetDefaultfolder(5) ' 5 = olFolderSentMail

i = 1

For Each item In objFolder.Items
If TypeName(item) = "MailItem" Then
If item.Subject = Range("A1").Value Then
i = i + 1
x = item.CreationTime
x = x & ", " & item.Subject
Debug.Print x
item.SaveAs "d:\herber\" & Replace(item.Subject, ":", "") & ".msg" 'den Pfad musst du natürlich anpassen
Exit For
End If
End If
Next

End Sub


Du schreibst, dass du die besagte Mail "von Hand" abschickst.
So müsstest du in deinem Code noch angeben, dass für meinen Code in Zelle A1 der Betreff deiner besagten Mail gespeichert wird (anstelle von A1 kannst du natürlich auch jeden anderen Weg wählen; wichtig ist nur, dass meinem Code der Betreff von deiner Mail bekannt ist)(du könntest meinen Code auch mit Betreff als Parameter aufrufen)

So, mein Code durchsucht nun den Ordner für gesendete Mails.
Wenn Mail mit dem richtigen Betreff gefunden, wird diese Mail im nächsten Schritt im von dir angegebenen Ordner mit Betreff als Dateiname als .msg-Datei gespeichert - fertig.
Ach so...ich "musste" noch Replace() verwenden, weil ausgerechnet die Mail, die ich als Testmail verwendet habe, im Betreff einen Doppelpunkt enthält - und Doppelpunkte in Dateinamen vertragen sich bekanntermaßen ja genau so wenig wie Feuer und Wasser :-)
Wenn du dich nach genügend Tests also auch entschließt, deinen Betreff als Dateiname zu verwenden, musst du vor dem Speichern vllt noch andere Zeichen eliminieren.

Hilfts?

Ciao
Thorsten
Anzeige
AW: Excel VBA Speichern unter des per VBA gesendeten E-Mail
11.08.2023 15:01:09
Oberschlumpf
na, hast du keine Zeit zu antworten - oder hast du keine Lust?

324 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige