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

Mail aus Zellen mit Text und Anhang

Mail aus Zellen mit Text und Anhang
18.11.2022 12:33:11
Norman
Hallo liebe Excel-Freunde,
ich möchte gerne Mails komplett aus verschiedenen Zelleninhalten direkt aus Excel generieren.
Dabei soll das so wie beim Serienbrief in Word laufen, also eine Kombination verschiedener Zelleninhalte als Datensatz (Mailadresse, Betreff, Inhalt/Text, Anhang).
Mit Hyperlink komme ich leider nicht weiter, weil dabei dann ja anscheinend die Textlänge sehr begrenzt ist, ich brauche aber deutlich mehr als 255 Zeichen. Außerdem soll eben auch immer ein entsprechender Anhang mit dabei sein.
Außerdem möchte ich dies aber eben nicht zum Versenden vieler Mails auf einmal, sondern nur auf Knopfdruck jeweils eine entsprechend zusammengestellte Mail versenden.
Ich hoffe, mein Problem wird deutlich und es gibt hierfür eine Lösung.
Vielen Dank, ich freue mich auf Rückmeldungen,
beste Grüße,
Norman

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mail aus Zellen mit Text und Anhang
18.11.2022 15:13:21
volti
Hallo Norman,
es gibt hunderte von Beispielen zum Mailversand im Netz. Musst Du mal googlen.
Außerdem ist Dein Wunsch auch nur spärlich beschrieben, denn es gibt viele Varianten. Eine Beispieldatei wäre z.B. gut.
Aber nun gut, hier mal ein Beispiel wie man eine HTML-Mail mit Signatur, eingebettetem Tabellenbereich und angefügter Anlage erstellen kann.
Code:


Option Explicit Private Sub Mailsenden() Dim sMailtext As String Dim Wsh As Worksheet Set Wsh = ThisWorkbook.Sheets("Tabelle1") Wsh.Range("A5:B10").Copy ' Bereich kopieren With CreateObject("Outlook.Application").CreateItem(0) .Getinspector.Display .To = Wsh.Range("A1").Value .CC = "" .Bcc = "" .Subject = Wsh.Range("A4").Value sMailtext = "Hallo " & Wsh.Range("A5").Value & "<br>hier ist eine Mail." .htmlbody = sMailtext & "<br><br>" & .htmlbody With .Getinspector.WordEditor.Application.Selection .Start = Len(sMailtext) - 2 ' Position ggf. anpassen .Paste ' Bereich in Mail einfügen End With .Attachments.Add ActiveWorkbook.FullName End With End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige
AW: Mail aus Zellen mit Text und Anhang
18.11.2022 15:43:40
Norman
Moin Karl-Heinz,
vielen Dank schon mal für die schnelle Antwort.
Ich hatte auf eine Lösung ohne VBA gehofft....
Ich hab mal eine Beispieldatei hochgeladen.
https://www.herber.de/bbs/user/156260.xlsm
Auf dem Blatt Rechnungen wird in Spalte DJ der Betreff gesammelt, in R stehen die Mailadressen, in DK der Text der Mail (zusammengeführt auch aus mehreren anderen Zellen) und in DR stehen die Dateipfade zu den jeweiligen Anhängen.
Ich wäre also super dankbar, wenn es nun in jeder Zeile eine Zelle geben würde zum Auslösen einer entsprechenden Mail.
Ginge das (sogar ohne VBA)?
Vielen Dank und Gruß,
Norman
Anzeige
AW: Mail aus Zellen mit Text und Anhang
18.11.2022 16:32:40
volti
Hallo Norman,
ohne VBA kenne ich nur "Mailto". Da kannst Du aber meines Wissens keinen Anhang mit verschicken.
Außerdem ist eine VBA-Mail viel flexibler.
Hier eine Idee zu Deinem Vorhaben. Der Code kommt ins Tabellenmodul "Rechnungen".
Ein Doppelclick in Spalte "DT" versendet die eMail für die betreffende Zeile und markiert in Zelle DTx, dass die Mail versendet wurde. So ist Doppelversand ausgeschlossen.
Kannst es ja mal ausprobieren.
Code:


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim iZeile As Long, Wsh As Worksheet Set Wsh = ThisWorkbook.Sheets("Rechnungen") With Target iZeile = .Row If .Column <> 124 Or iZeile < 2 Or Wsh.Cells(iZeile, "R").Value = "" Then Exit Sub If Wsh.Cells(iZeile, 124).Value = "Mail versendet" Then MsgBox "Diese Mail wurde schon verschickt!", vbExclamation, "Mailversan" Cancel = True: Exit Sub End If End With With CreateObject("Outlook.Application").CreateItem(0) .Getinspector.Display .To = Wsh.Cells(iZeile, "R").Value .Subject = Wsh.Cells(iZeile, "DJ").Value .body = Wsh.Cells(iZeile, "DK").Value _ & vbLf & .body ' Signatur zufügen If Dir$(Wsh.Cells(iZeile, "DR").Value) <> "" Then .Attachments.Add Wsh.Cells(iZeile, "DR").Value End If Wsh.Cells(iZeile, 124).Value = "Mail versendet" End With Cancel = True End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige
AW: Mail aus Zellen mit Text und Anhang
18.11.2022 20:25:16
Norman
Hi Karl-Heinz,
das ist ja richtig gut, vielen Dank, ein Traum. :-)
Allerdings kommen noch Fehlermeldungen, hab die mal hochgeladen. Userbild
Userbild
Was hat es damit auf sich? Einfach wegklicken?
Und eine Markierung, wenn schon gemailt wurde, hab ich auch noch nicht entdeckt, hängt das zusammen?
Beste Grüße,
Norman
AW: Mail aus Zellen mit Text und Anhang
18.11.2022 22:48:50
volti
Hallo Norman,
der Fehler kommt zustande, weil/wenn in der entsprechenden Zeile #Bezug vorkommt.
Du musst darauf achten, dass alle relevanten Zellen sauber sind.
Gruß
Karl-Heinz
Anzeige
AW: Mail aus Zellen mit Text und Anhang
19.11.2022 11:02:48
Norman
Nun möchte ich gerne, dass die Zelle, die zum Aktivieren genutzt wird in Spalte E sitzt.
Wo kann das gemacht werden?
Ist was wegen Blattschutz zu bedenken?
Wenn ich das noch weiß, bin ich glücklich und Dir sehr dankbar. :-)
Gruß,
Norman
AW: Mail aus Zellen mit Text und Anhang
19.11.2022 23:05:25
Norman
Hallo nochmal,
wie man die auslösende Zelle verändert, hab ich nun auch rausgefunden.
Das ist wirklich alles richtig super, vielen Dank Karl-Heinz! :-)
Ein Miniproblem hab ich nun noch:
Wenn die Mail ausgelöst wird, übernimmt Outlook leider nur den Text aus der Standard-Signatur, nicht aber die Visitenkarte, die sonst immer in der Signatur mit dabei ist. Obwohl ganz richtig eine HTML-Mail ausgelöst wird...?
Nun dachte ich, kein Problem, dann nehm ich eben die automatische Signatur raus und lös die zusammen mit der Mail aus Excel aus. Wenn ich aber nun da den Dateipfad zur Visitenkarte per Zelle verlinke, sieht man in der Mail nur den Pfad nicht aber die Bilddatei.
Kannst Du mir hierzu auch nochmal helfen?
Dann nerv ich auch nicht mehr und bin selig. :-)
Vielen Dank und Gruß,
Norman
Anzeige
AW: Mail aus Zellen mit Text und Anhang
20.11.2022 09:40:47
volti
Hallo Norman,
vielleicht hilft es, das Format der eMail noch mal extra anzugeben.
.BodyFormat = 2 ' HTML-Format.
Ansonsten kenne ich mich mit Visitenkarten (noch) nicht aus.
Ich lasse die Frage mal offen.
Gruß KH
AW: Mail aus Zellen mit Text und Anhang
20.11.2022 11:35:11
Norman
Wo genau und wie muss man das Format denn eintragen?
AW: Mail aus Zellen mit Text und Anhang
21.11.2022 22:18:13
Norman
Hi KH,
ich weiß leider nicht, an welcher Stelle in der VBA ich nun ".BodyFormat = 2 ' HTML-Format." einfügen muss, damit dass klappen kann.
Magst Du mir das noch mitteilen?
Besten Dank und Gruß,
Norman
AW: Mail aus Zellen mit Text und Anhang
21.11.2022 22:34:51
volti
Hallo Norman,
der Punkt am Anfang besagt, dass es sich auf die WITH-Klausel bezieht und am besten gleich dort am Anfang zu platzieren ist.
Aber wie gesagt, ob es Dein Problem löst, weiß ich nicht.
Code:


With CreateObject("Outlook.Application").CreateItem(0) .BodyFormat = 2 ' HTML-Format .Getinspector.Display .To = Wsh.Cells(iZeile, "R").Value .Subject = Wsh.Cells(iZeile, "DJ").Value .body = Wsh.Cells(iZeile, "DK").Value _ & vbLf & .body ' Signatur zufügen If Dir$(Wsh.Cells(iZeile, "DR").Value) <> "" Then .Attachments.Add Wsh.Cells(iZeile, "DR").Value End If Wsh.Cells(iZeile, 124).Value = "Mail versendet" End With

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige
AW: Mail aus Zellen mit Text und Anhang
22.11.2022 20:42:14
Norman
Hey Karl-Heinz,
vielen Dank nochmal. Das Problem hat es leider nicht behoben, aber ich bin trotzdem glücklich mit Deiner Lösung, echt richtig super.
:-)
Beste Grüße,
Norman

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige