Herbers Excel-Forum - das Archiv
VBA E-Mail mit Button und Bedingungen
Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Betrifft: VBA E-Mail mit Button und Bedingungen
von: deniz
Geschrieben am: 20.09.2019 16:24:21
Hallo zusammen,
grob erklärt, würde ich gerne aus Excel heraus eine E-MAIL über Outlook per Button versenden. Jedoch mit einigen Bedingungen.
In "
Tabelle 1" soll sich ein Button befinden, der dafür sorgt:
- das "
Tabelle 5" in einem bestimmten Verzeichnis auf
C:\ abgespeichert wird. Der Name des Ordners der die erzeugte Datei behinahalten soll, soll aus Zelle
"C3" aus "
Tabelle 1" entnommen werden.
- Anschließend oder gleichzeitg soll die neu erzeugte Datei über Outlook an mehrere Empfänger versendet werden. Die Empfängerliste ist aus
"Q11" aus "
Tabelle 1" zu entnehmen (z.B.: Max@gmx.de ; Hugo@web.de; ...usw.)
- Als Betreff soll Zelle "
A1" und "
C3"von "
Tabelle 1" eingetragen werden.
- Der Email-Text soll aus Zelle
"R11" aus "
Tabelle 1" entnommen werden.
- Wurde die Email versendet soll in Zelle
"L11" in "
Tabelle 1" der Buchstabe "a" eingetragen werden.
Durch die vielen Bedingunen weiß ich nicht womit ich am besten beginnen soll. Bisher habe ich immer nur Code kopiert und konnte Ihn mit viel Mühe nur bedingt für meine Verwendung anpassen.
Hat jemand sowas in der Art vielleicht schon in VBA programmiert?
Gruß Deniz
Betrifft: AW: VBA E-Mail mit Button und Bedingungen
von: 1714166.html
Geschrieben am: 20.09.2019 20:16:20
OK habe einen Teil bisher alleine geschafft.
Jedoch habe ich mich was die Bezugsquellen der Email angeht leicht umentschieden.
Drücke ich den Button wird eine Email versendet.
Die Empfänger befinden sich in Zelle Q11 in Tabelle1.
Den möglichen Betreff nehme ich aus Zelle R11 in Tabelle1.
Den Text nehme ich aus Zelle S11 in Tabelle1.
Zudem habe ich eine Abfrage von Zelle J11 eingefügt. Ist die Zelle leer wird keine Email versendet.
Hat die Zelle einen Wert, so wird die Email versendet und in Zelle L11 in Tabelle1 wird ein Wert eingetragen.
Hier der bisherige Code:
Public Sub CommandButton1_Click()
Dim OutApp As Object
Dim OutMail As Object
If InStr(Range("Q11").Value, "@") < 1 Then
MsgBox "Keine Email-Adresse in Zelle Q11", vbCritical
Exit Sub
End If
If ActiveSheet.Range("J11").Value = "" Then 'ZUSÄTZLICHE ZELLABFRAGE
MsgBox ("Balkenplan ist nicht komplett bearbeitet!")
Exit Sub
End If
If ActiveSheet.Range("J11") = "a" Then 'ZUSÄTZLICHE ZELLABFRAGE
ActiveSheet.Range("L11") = "a"
MsgBox ("Email wird versendet, überprüfe deinen Postausgang")
End If
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
With OutMail
.To = Range("Q11").Value 'EMAIL ADRESSEN
.Subject = Range("R11").Value 'BETREFF
.Body = Range("S11").Value 'TEXT IN DER EMAIL
.Send
End With
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
Hätte man das bis hier leichter programmieren können oder enthält mein Code Fehler? (jedenfalls funktioniert es bei mir) :-)
Jetzt fehlt mir noch der Email-Anhang ("Tabelle5"), der Anhang soll zusätzlich mit aktuellen Datum benannt sein und in einem Extra Ordner ("Name des Ordners soll aus Tabelle1 Zelle C3 generiert werden") abgelegt werden.
Über Vorschläge für die Umsetzung würde ich mich freuen.
Grüße Deniz