Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

E-Mail versenden und speichern
#1
Hallo,

ich hoffe hier kann mir jmd. helfen. Ich suche eine Möglichkeit aus Excel u. Access heraus E-Mails zu schicken u. die E-Mails im Ordner "Gesendete Objekte" zu speichern.
Im Netz habe ich nur den Tipp gefunden, dass man mit ItemAdd arbeiten soll, aber ehrlich gesagt, verstehe ich nicht, wie man mit dieser Anweisung arbeitet bzw. wie diese einzubauen ist.
Das mit dem Verschicken habe ich schon hinbekommen. Sieht so aus:
Code:
Sub LBverschicken1()

Dim outlLB As Object
Dim mailLB As Object

    Set outlLB = CreateObject("outlook.application")
    Set mailLB = outlLB.CreateItem(0)
    mailLB.Subject = "XXX " & Format(Now(), "DD.MM.YYYY")
    mailLB.To = "XXX@XXX.de"
    mailLB.Attachments.Add "XXX_" & Format(Now(), "YYMMDD") & ".xls"
    mailLB.ReadReceiptRequested = False
    mailLB.Send

End Sub

Vielen Dank schon mal für eure Tipps.
Matthias
Antworten Top
#2
Hallo Matthias,

bei mir landen die automatisch im Ordner Gesendete Objekte. Hast Du in Deinem Outlook eventuell mehrere Postfächer eingerichtet? Wenn ja, dann landen die im ersten Postfach.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#3
Guten Morgen,

sorry, hab' mich blöd ausgedrückt. Möchte die Mails aus dem Ordner "Gesendete Objekte" auf der Festplatte im msg-Format speichern.
Antworten Top
#4
Hallo,

mit diesem code kannst Du die letzte gesendete email speichern. Pfad und vor allem Dateiname könnte man noch variabel gestalten, indem man z.B. den Betreff nimmt und ggf. noch den Zeitpunkt, damit bei gleichem Betreff nichts überschrieben wird.
Das Ding hat jedoch einen kleinen Nachteil. Wenn das Senden länger dauert, ist die Nachricht noch im Postausgang und nicht im Gesendet. Für den Fall müsste man eine ausreichende Wartezeit programmieren.

Code:
Sub SaveLastSentInFolder()
'Variablendeklarationen
'Objekte
  Dim olApp As Object 'Outlook.Application
  Dim olNameSpace As Object 'Outlook.Namespace
  Dim olSentBox As Object 'Outlook.MAPIFolder
'Outlook Objekt zuweisen
  Set olApp = CreateObject("Outlook.Application")
'Mapi zuweisen
  Set olNameSpace = olApp.GetNamespace("MAPI")
'Gesendete Objekte des Standardpostfachs zuweisen
  Set olSentBox = olNameSpace.GetDefaultFolder(olFolderSentMail)
'Letzte gesendete email speichern
'Hinweis: Senden dauert etwas, ggf. Wartezeit programmieren!
  olSentBox.Items(olSentBox.Items.Count).SaveAs "C:\Test\Test.msg"
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#5
Hallo,

ja, so einen Code habe ich in ähnlicher Weise schon im Einsatz. Problem ist nur, dass ich mit einem Makro mehrere Mails an unterschiedliche Empfänger versende. Der Code für die letzte Mail reicht daher nicht aus. Vor allem wenn ich zwischendurch manuell noch andere Mails verschicke.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste