Daten eines einzelnen Tabellenblatt als Mail versenden (kein Dateianhang)
Hallo,
ich versuche gerade eine Excel Tabelle zu erstellen, in der der Nutzer eine Störungsmeldung aufgeben kann.
Dazu sollen über diverse Pull-Down Menüs die Informationen abgefragt werden.
Im Anschluss soll durch anklicken eines "Absendebutton" eine HTML-Mail erstellt werden und die Daten in den Textkörper eingefügt werden. Es soll kein Versand der Datei erfolgen!
Des Weiteren soll der Betreff aus einer bestimmten Zelle ausgelesen und gesetzt werden. (geht noch nicht)
So sieht es bis jetzt aus.
*
Sub Abschließen_Kommunikationsstörung()
Sheets("Störungsmeldung").Select
' Sheets("Störungsmeldung").PageSetup.PrintArea = "$A$1:$H$35" 'Dies ist der Bereich der kopiert werden soll)
ActiveWorkbook.SaveAs Filename:=Range("=Auswahl!G5") & Range("=Auswahl!G6") 'Störungsmeldung wird zusätzlich unter einem definierten Dateinamen gespeichert
ReDim fEmpfaenger(1 To 4)
fEmpfaenger(1) = Range("=Auswahl!E2")
fEmpfaenger(2) = Range("=Auswahl!E3")
fEmpfaenger(3) = Range("=Auswahl!E4")
fEmpfaenger(4) = Range("=Auswahl!E5")
Application.Dialogs(xlDialogSendMail).Show fEmpfaenger()
End Sub
Schön wäre es, wenn man auch zwischen Empfänger (An: und Cc unterscheiden kann. fEmpfaenger1 wäre als "An:" und die fEmpfaenger2 bis 4 sollen ins Cc:
Hat jemand hier einen Tipp für mich?
Office Version ist 2013
Vielen Dank!
Grüße
Stefan
ich versuche gerade eine Excel Tabelle zu erstellen, in der der Nutzer eine Störungsmeldung aufgeben kann.
Dazu sollen über diverse Pull-Down Menüs die Informationen abgefragt werden.
Im Anschluss soll durch anklicken eines "Absendebutton" eine HTML-Mail erstellt werden und die Daten in den Textkörper eingefügt werden. Es soll kein Versand der Datei erfolgen!
Des Weiteren soll der Betreff aus einer bestimmten Zelle ausgelesen und gesetzt werden. (geht noch nicht)
So sieht es bis jetzt aus.
*
Sub Abschließen_Kommunikationsstörung()
Sheets("Störungsmeldung").Select
' Sheets("Störungsmeldung").PageSetup.PrintArea = "$A$1:$H$35" 'Dies ist der Bereich der kopiert werden soll)
ActiveWorkbook.SaveAs Filename:=Range("=Auswahl!G5") & Range("=Auswahl!G6") 'Störungsmeldung wird zusätzlich unter einem definierten Dateinamen gespeichert
ReDim fEmpfaenger(1 To 4)
fEmpfaenger(1) = Range("=Auswahl!E2")
fEmpfaenger(2) = Range("=Auswahl!E3")
fEmpfaenger(3) = Range("=Auswahl!E4")
fEmpfaenger(4) = Range("=Auswahl!E5")
Application.Dialogs(xlDialogSendMail).Show fEmpfaenger()
End Sub
Schön wäre es, wenn man auch zwischen Empfänger (An: und Cc unterscheiden kann. fEmpfaenger1 wäre als "An:" und die fEmpfaenger2 bis 4 sollen ins Cc:
Hat jemand hier einen Tipp für mich?
Office Version ist 2013
Vielen Dank!
Grüße
Stefan
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 338789
Url: https://administrator.de/contentid/338789
Ausgedruckt am: 26.11.2024 um 15:11 Uhr
9 Kommentare
Neuester Kommentar
Moin,
ja: du bist ziemlich auf dem Holzweg.
Mit welchem Mailclient sollen die Mails versendet werden?
Gruß
ja: du bist ziemlich auf dem Holzweg.
Mit welchem Mailclient sollen die Mails versendet werden?
Gruß
dann gäbe es folgende Möglichkeit eine Mail zu erstellen:
Universeller wird es per Mapi: http://www.chf-online.de/vba/vbamailmapi.htm
Gruß
Set MyOutApp = CreateObject("Outlook.Application")
Set MyMessage = MyOutApp.CreateItem(0)
With MyMessage
.To = "Hier kommt die Adresse rein"
.Subject = "hier der Betreff"
.body = "Mein Text"
.Display
'.Send 'Hier wird die Mail gesendet
End With
Set MyOutApp = Nothing
Set MyMessage = Nothing
Universeller wird es per Mapi: http://www.chf-online.de/vba/vbamailmapi.htm
Gruß
Wie schaffe ich es denn das die Daten aus Excel kopiert und in die Mail eingefügt werden?
Email aus Excel 2010 mit VBa versendenGruß
Zitat von @Zentralenteufel:
Hallo password,
danke für den Link. Sieht schon ganz gut aus.
Ich habe einen festen Bereich der kopiert werden soll. Geht das auch?
Klar einfach statt selection.copy den Ränge angeben und kopieren, wat sonst ...Hallo password,
danke für den Link. Sieht schon ganz gut aus.
Ich habe einen festen Bereich der kopiert werden soll. Geht das auch?
Sheets("Störungsmeldung").Range("A1:H35").Copy
Na dann bitte noch auf gelöst setzen nicht vergessen.