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

? Mit VBA Outlook-Nachricht öffnen ...

? Mit VBA Outlook-Nachricht öffnen ...
09.05.2022 13:46:52
Micha
Einen schönen Gruss ins Forum :-)
In der Hoffnung, dass mir hier geholfen werden kann eine kleine Anfrage. Für hilfreiche Antworten schon jetzt herzlichen Dank.
Was möchte ich machen:
In einem Tabellenblatt habe ich einen Button (Textfeld mit VBA-Code verbunden). Beim Link auf diesen Button soll Outlook geöffnet und die aktuelle Excel-Datei als Anlage angehängt werden. Zudem sollen folgende Informationen in der Mail vorausgefüllt werden:
a) Empfänger der Mail
b) Betreff der Mail
c) Text der Mail
Insgesamt gibt es mehrere Tabellenblätter, jeweils mit Buttons. Je nachdem, in welchem Tabellenblatt der Button gedrückt wird, gehen die Mails an verschiedene Empfänger.
Für a) und b) habe ich bereits an anderer Stelle eine Lösung gefunden:

Sub Mappe_per_Email_verschicken()
Application.Dialogs(xlDialogSendMail).Show "jemand@irgendwo", "Betreff"
End Sub
Kann mir jemand verraten, wie ich in diesen Code noch einen vordefinierten Nachrichtentext einfügen kann?
Der Text soll z.B. so aussehen (d.h. mit definierten Zeilenumbrüchen):
Achtung:
Dieser Nachricht müssen vor dem Versand als weitere Anlagen noch beigefügt werden:
- Vorlage xy als PDF-Datei
- Vorlage yz als PDF-Datei
- ...


Auf makro-excel.de habe ich noch etwas anderes gefunden:

Sub EmailManuellAbsenden()
Dim objOutlook As Object
Dim objMail As Object
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
With objMail
.To = deinname@deinedomain.de
.Subject = "Betreff"
.Body = "Ihre Nachricht."
.Display        'Erstellt die Email und öffnet diese. Der Versand erfolgt anschließend manuell vom User!
End With
End Sub
Bei dieser Lösung verstehe ich nun nicht,
- wie man die Excel-Datei, aus der heraus man die Mail generieren will, anhängen kann
- wie man den Text mit Zeilenumbrüche gestalten kann (siehe oben)
Kann hier jemand helfen?
Gibt es vielleicht noch eine ganz andere, bessere, Möglichkeit?
Vielen Dank
Micha

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

Betreff
Datum
Anwender
Anzeige
AW: ? Mit VBA Outlook-Nachricht öffnen ...
09.05.2022 13:52:50
Nepumuk
Hallo Micha,
so geht das:

Sub EmailManuellAbsenden()
Dim objOutlook As Object
Dim objMail As Object
Set objOutlook = CreateObject(Class:="Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
With objMail
.To = "deinname@deinedomain.de"
.Subject = "Betreff"
.Body = "Hallo," & vbLf & vbLf & "Ihre Nachricht." & vbLf & vbLf & "Gruß Micha"
.Attachment.Add ThisWorkbook.FullName
.Display
End With
Set objMail = Nothing
Set objOutlook = Nothing
End Sub
Gruß
Nepumuk
AW: ? Mit VBA Outlook-Nachricht öffnen ...
09.05.2022 13:55:17
Nepumuk
Oooooooops,
ein s vergessen. Also so:
Attachments.Add ThisWorkbook.FullName
Gruß
Nepumuk
Anzeige
AW: ? Mit VBA Outlook-Nachricht öffnen ...
09.05.2022 14:21:00
Micha
Vielen Dank, das funktioniert schon gut.
Geht es auch, dass ich die Mailadresse nicht als Festwert eingebe, sondern Excel die automatisch z.B. aus Zelle F2 des aktuellen Arbeitsblattes holen soll?
Viele Grüsse
Micha
AW: ? Mit VBA Outlook-Nachricht öffnen ...
09.05.2022 14:25:50
Nepumuk
Hallo Micha,
klar:

.To = Range("F2").Text
Gruß
Nepumuk
Mehr als perfekt, 1001 Dank!
09.05.2022 14:54:55
Micha
Mehr als perfekt!
Detailfragen ...
10.05.2022 07:15:57
Micha
Guten Morgen in die Runde,
nach "kreativer Nacht" und nach wie vor begeistert von
a) der Hilfsbereitschaft hier
und
b) den Möglichkeiten in Excel
hätte ich nochmals ein paar Nachfragen.
Geht es, dass am Beispiel oben
.Body = "Hallo," & vbLf & vbLf & "Ihre Nachricht." & vbLf & vbLf & "Gruß Micha"
das Wort "Hallo" in roter Farbe + Fett
das Wort "Nachricht" unterstrichen
und am Ende statt "Gruß Micha" automatisch die Outlook-Signatur des Anwenders (und damit Absenders der Mail) eingefügt wird?
Vielen Dank für jedwede hilfreiche Antwort schon jetzt.
Herzliche Grüsse
Micha
Anzeige
AW: Detailfragen ...
10.05.2022 09:26:23
peterk
Hallo

Sub EmailManuellAbsenden()
Dim objOutlook As Object
Dim objMail As Object
Dim olOldbody As String
Set objOutlook = CreateObject(Class:="Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
With objMail
.GetInspector.Display
olOldbody = .htmlBody
.To = "deinname@deinedomain.de"
.Subject = "Betreff"
.htmlBody = "Hallo, #br>#br>" & _
"Ihre #span style=""color: red;"">Nachricht #b>fett#/b> #/span> von heute #br>#br>" & _
"Gruß #u>Micha #/u>" & _
olOldbody
.Attachment.Add ThisWorkbook.FullName
.Display
End With
Set objMail = Nothing
Set objOutlook = Nothing
End Sub
Und alle "#"durch " Peter
Anzeige
AW: Detailfragen ...
17.05.2022 09:26:22
Micha
Kann erst heute reagieren.
Vielen Dank für die Hilfe!
Das funktioniert soweit ganz gut, die Mail wird geöffnet usw ... alles fein.
In Excel selber poppt aber ein Fehlerfenster auf "Objekt unterstützt diese Eigenschaft oder Methode nicht".
Was ist da jetzt noch falsch?
Besten Dank für weitere Hilfestellung!
Micha
AW: Detailfragen ...
17.05.2022 09:30:58
Micha
noch offenes Thema
AW: Detailfragen ...
17.05.2022 09:32:16
Oberschlumpf
Hi
ich weiß nicht, ob meine Antwort hier noch eingetragen wird.
Micha , du musst n neuen Beitrag erstellen, da dieser, zu dem du weiterhin Hilfe brauchst, ins Archiv verschoben wurde.
Ciao
Thorsten
AW: Detailfragen ...
17.05.2022 09:39:54
peterk
Hallo
.Attachments.Add ThisWorkbook.FullName
statt
.Attachment.Add ThisWorkbook.FullName
Peter
Anzeige
AW: ? Mit VBA Outlook-Nachricht öffnen ...
09.05.2022 13:54:30
mumpel
Hallo!
Stichwort: .Attachments.Add
Gruß, René

64 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige