Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1384to1388
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

Emailversand aus Excel mit Speicherung

Emailversand aus Excel mit Speicherung
17.10.2014 23:37:06
Dalibor
Hallo zusammen,
ich habe folgendes vor.
Erstellen eines Emailgenerators wo ich mittels verschiedene Eingabefeldern (Userform) Werte in der Email wiedergebe.
Den Emailgenerator habe ich soweit, funktioniert auch bestens!
Nun möchte ich jedoch noch eine Schaltfläche mit Email - speichern und die gerade versendete Email aus dem Ordner gesendete Objekte herraussuchen (String für den Betreff habe ich, nach diesem würde ich gerne suchen) und in einem vorgegeben Verzeichnis abspeichern (*.msg)
Könnt Ihr mir einen Tipp geben wie ich das aus Excel schaffe?
Oder muss ich hier direkt im Outlook ein Makro schreiben?
Es handelt sich um Excel 2007 und Outlook 2007.
Danke schon mal!

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Emailversand aus Excel mit Speicherung
18.10.2014 07:19:48
mumpel
Hallo!
Bei "olFolder" noch den Namen des Kontos anpassen. Bei "olItems.SaveAs" den Pfad anpassen.
Option Explicit

Public Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)

Public Sub CreateOLAppMailAndSave()

Dim olApp          As Object
Dim olName         As Object
Dim olFolder       As Object
Dim olItems        As Object

Dim olOldBody      As String
Dim olMailSubject  As String

olMailSubject = "Ihre angeforderten Unterlagen" ' Betreff erstellen 

   Set olApp = CreateObject("Outlook.Application")
   Set olName = olApp.GetNamespace("MAPI")
   Set olFolder = olName.Session.Folders("RMH Software").Folders("Gesendete Elemente")

   With olApp
        With .CreateItem(0)
             .GetInspector.Display
             olOldBody = .HTMLBody
             .To = "rmh.installationen@t-online.de"
             .Subject = olMailSubject
             .HTMLBody = "Hallo!<br><br>Anbei gewünschte Unterlagen." & _
                         "<br><br>Gruß, René<br><br>" & olOldBody
             .Send
        End With
        
        Sleep 1000 ' Warten bis gesendete Email in "Gesendete Objekte" erscheint 


        For Each olItems In olFolder.Items
            If olItems.Subject = olMailSubject Then
               olItems.SaveAs Environ("USERPROFILE") & "\Desktop\" & olItems.Subject & ".msg", 3
               Exit For
            End If
        Next olItems
        
   End With
End Sub


VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel



Code erstellt und getestet in Office 14
Gruß, René

Anzeige
Nachtrag
18.10.2014 07:22:10
mumpel
Nachtrag:
Wichtig ist dass vor dem Speichern alle Sonderzeichen (?,#,: etc.) aus dem Betreff entfertn werden müssen (Replace), da diese Zeichen in Dateinamen unzulässig sind.

AW: Nachtrag
21.10.2014 03:51:35
Dalibor
Danke für die schnelle Antwort!
Werde es nun anpassen und Probieren, melde mich nochmals.

AW: Nachtrag
24.10.2014 02:18:21
Dalibor
Hallo nochmal,
klappt soweit!
Jetzt würde ich aber gerne die Speicherung der Email mit einem Commandbutton ausführen "CmB2Emailspeichern", jedoch ist dieser natürlich nicht in der gleichen Sub.
Und wenn ich versuche das zu machen bringt er mir natürlich die Meldung das in olItems nix drin ist.
Wie bekomme ich das in der anderen Sub hin?
Danke und ein schönes WE!
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige