Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Text in Mail einfügen

Forumthread: Text in Mail einfügen

Text in Mail einfügen
07.02.2005 07:21:41
Ebneter
Eine Exceltabelle möchte ich mittels VBA-Code mailen. Ich habe bereits folgende Anweisung geschrieben:
ActiveWorkbook.SendMail Recipients:="thomas.muster@swisslife.ch", Subject:="Offerten- und Neuabschlussreporting"
Wie kann ich noch zusätzlichen Text ins Mail einfügen. Der Befehl "Subject" erstellt den Betreffvermerk. Wie heisst der Befehl für den Mailtext? Ich möchte den Text für das Mail auch im Excel vorgeben und mittels VBA ins Mail einfügen.
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Text in Mail einfügen
Willie
Hallo Ebneter Gallus
Ich habe dir hier ein Beispiel, damit kannst wahrscheinlich alles machen, was du willst!
Rückmeldung wäre nett!
Gruß
Willie

Sub EMail4U()
Dim outObj As Object
Dim Mail As Object
Dim i As Integer
Set outObj = CreateObject("Outlook.Application")
Set Mail = outObj.CreateItem(0)
With Mail
.Subject = "Rechnungen"
.Body = "Sehr geehrte Damen und Herren " & Chr(13) & _
"Bitte prüfen Sie die angehängten Rechnungen" & Chr(13) & _
"Viele Grüße " & Chr(13) & _
Application.UserName
.To = "test1@abc.de"
.CC = "test2@abc.de"
.BCC = "test3@abc.de"
End With
Mail.Display
Set Mail = Nothing
Set outObj = Nothing
End Sub

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Text in Mail einfügen mit VBA


Schritt-für-Schritt-Anleitung

Um einen Text in eine E-Mail einzufügen, die mittels VBA aus Excel gesendet wird, kannst Du den folgenden VBA-Code verwenden. Dieser Code erstellt eine neue E-Mail in Outlook und fügt sowohl einen Betreff als auch einen Textkörper ein.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu: Rechtsklick auf „VBAProject (DeineDatei.xlsx)“ > Einfügen > Modul.
  3. Kopiere und füge den folgenden Code in das Modul ein:
Sub EMail4U()
    Dim outObj As Object
    Dim Mail As Object

    Set outObj = CreateObject("Outlook.Application")
    Set Mail = outObj.CreateItem(0)

    With Mail
        .Subject = "Dein Betreff hier"
        .Body = "Hier ist der Text, den Du in die Mail einfügen möchtest." & Chr(13) & _
                 "Viele Grüße," & Chr(13) & _
                 Application.UserName
        .To = "empfaenger@example.com"
        .CC = "cc@example.com"
        .BCC = "bcc@example.com"
    End With

    Mail.Display ' Mail anzeigen, um sie zu überprüfen
    Set Mail = Nothing
    Set outObj = Nothing
End Sub
  1. Passe die E-Mail-Adressen und den Text entsprechend Deinen Bedürfnissen an.
  2. Schließe den VBA-Editor und führe das Makro aus.

Mit diesem VBA-Skript kannst Du einfach Text in die Mail einfügen, ohne manuell etwas in Outlook einzugeben.


Häufige Fehler und Lösungen

Fehler: Outlook öffnet sich nicht, oder der Code funktioniert nicht.
Lösung: Stelle sicher, dass Microsoft Outlook auf Deinem Computer installiert und korrekt konfiguriert ist. Prüfe auch, ob Du die richtigen Berechtigungen hast, um E-Mails zu senden.

Fehler: E-Mail wird nicht gesendet.
Lösung: Der Befehl .Display öffnet nur die E-Mail. Um die E-Mail automatisch zu senden, ändere .Display in .Send. Beachte, dass dies die E-Mail sofort sendet.


Alternative Methoden

Falls Du eine andere Methode bevorzugst, um einen Text in eine E-Mail einzufügen, kannst Du auch die SendMail-Funktion von Excel verwenden. Diese Funktion eignet sich jedoch nur für einfache E-Mails, da Du den Inhalt nicht so flexibel anpassen kannst wie mit dem Outlook-Objekt.

ActiveWorkbook.SendMail Recipients:="empfaenger@example.com", Subject:="Dein Betreff"

Diese Methode ist schneller, erlaubt aber keinen benutzerdefinierten Mailtext.


Praktische Beispiele

Hier sind einige Beispiele, wie Du unterschiedliche Texte in eine E-Mail einfügen kannst:

  1. Einfacher Text:

    .Body = "Hallo zusammen," & Chr(13) & "Das ist eine Test-E-Mail."
  2. Text mit Variablen:

    Dim UserName As String
    UserName = Application.UserName
    .Body = "Hallo " & UserName & "," & Chr(13) & "Bitte finde die angehängte Datei."
  3. Formatierter Text (HTML):

    .BodyFormat = 2 ' 2 = HTML
    .HTMLBody = "<h1>Wichtige Mitteilung</h1><p>Hier ist der Text Deiner E-Mail.</p>"

Tipps für Profis

  • Automatisierung: Du kannst E-Mails automatisch senden, indem Du die .Send-Methode verwendest. Sei vorsichtig, da dies die E-Mail sofort sendet, ohne sie anzuzeigen.
  • Anhänge: Um einen Anhang hinzuzufügen, verwende die Methode .Attachments.Add:
    Mail.Attachments.Add "C:\Pfad\zur\Datei.txt"
  • HTML-Format: Um eine ansprechendere E-Mail zu erstellen, verwende HTML-Formatierung. Das ermöglicht Dir, die E-Mail schöner zu gestalten.

FAQ: Häufige Fragen

1. Kann ich mehrere Empfänger angeben?
Ja, Du kannst mehrere Empfänger in der .To-Eigenschaft angeben, indem Du die E-Mail-Adressen mit einem Semikolon trennst:

.To = "empfaenger1@example.com; empfaenger2@example.com"

2. Wie füge ich CC oder BCC hinzu?
Du kannst CC und BCC genau wie die To-Adresse hinzufügen, indem Du die .CC und .BCC-Eigenschaften verwendest und die entsprechenden E-Mail-Adressen angibst.

3. Funktioniert dies in allen Excel-Versionen?
Ja, der VBA-Code sollte in den meisten Versionen von Excel funktionieren, die mit Outlook kompatibel sind, jedoch ist es empfehlenswert, die neuesten Versionen zu verwenden, um alle Funktionen nutzen zu können.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige