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

Forumthread: EMail senden per Button

EMail senden per Button
12.10.2017 11:21:01
Kevin
Hallo zusammen,
habe ein Anliegen wo ich nicht weiterkomme :(
Folgendes:
Ich möchte per Commond Button die aktuell geöffnete Excel-Datei per Email
an bestimmt Empfänger, bestimmter Betreff und einen bestimmten Text versenden und natürlich die Datei als Anhang.
Folgendes klappt bis jetzt nur :
Email Programm öffnet
Fügt den Anhang hinein
Bestimmter Empfänger wird eingetragen
Und bestimmter Betreff
Was nur fehlt ist der bestimmte Text , dass bekomme ich einfach nicht hin...
Code:
Sub Email ()
Application.dialogs(xlDialogSendMail).show "E-Mail", "Betreff"
End 

Sub
Kann mir da wer helfen?
LG Kevin


		
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Geht nicht
12.10.2017 11:26:54
Michael
Hallo!
Mittels SendMail-Dialog kannst Du keinen MailBody-Text übergeben.
Um mehr Möglichkeiten zu haben, musst Du schon mit dem Outlook-/-Mail-Item-Objekt arbeiten.
Starthilfe: https://www.rondebruin.nl/win/s1/outlook/mail.htm
LG
Michael
AW: Geht nicht
12.10.2017 13:12:38
ZD14

Dim olApp           As Object
'Create Mail
Set olApp = CreateObject("Outlook.Application")
With olApp.CreateItem(0)
.GetInspector
.To = "EMAIL"
.CC = "EMAIL"
.Subject = "BETREFF"
.htmlbody = "TEXT "
.Attachments.Add ("ANHANG")
.Display
End With

Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

E-Mail senden per Button in Excel


Schritt-für-Schritt-Anleitung

Um einen E-Mail-Button in Excel zu erstellen, der eine E-Mail mit einem bestimmten Text, Empfänger und Betreff versendet, befolge diese Schritte:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu:

    • Rechtsklicke auf "VBAProject (DeinWorkbookName)".
    • Wähle "Einfügen" > "Modul".
  3. Kopiere den folgenden VBA-Code in das Modul:

    Sub EmailVersenden()
       Dim olApp As Object
       Set olApp = CreateObject("Outlook.Application")
       With olApp.CreateItem(0)
           .To = "empfaenger@example.com" ' Empfängeradresse
           .CC = "cc@example.com" ' CC-Adresse
           .Subject = "Betreff hier" ' Betreff der E-Mail
           .HTMLBody = "<font style='font-family:Calibri; font-size:12pt;'>Hier ist der Text der E-Mail.</font>"
           .Attachments.Add ("C:\Pfad\zu\deiner\Datei.xlsx") ' Anhang
           .Display ' Oder verwende .Send, um die E-Mail sofort zu senden
       End With
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu deiner Excel-Datei.

  5. Füge einen Button hinzu:

    • Wechsle zum Reiter "Entwicklertools".
    • Klicke auf "Einfügen" und wähle "Button (Formularsteuerelement)".
    • Zeichne den Button auf deinem Arbeitsblatt.
  6. Verknüpfe den Button mit dem Makro:

    • Wähle das Makro "EmailVersenden" aus der Liste aus und klicke auf "OK".

Jetzt hast Du einen E-Mail-Button in Excel, der beim Klicken eine E-Mail mit dem angegebenen Text und Anhang versendet.


Häufige Fehler und Lösungen

  • E-Mail-Programm öffnet sich nicht: Stelle sicher, dass Outlook korrekt installiert und konfiguriert ist. Der VBA-Code nutzt Outlook für das Versenden der E-Mail.

  • Kein Text in der E-Mail: Überprüfe, ob der .HTMLBody-Parameter im Code korrekt gesetzt ist. Achte darauf, dass der Text in Anführungszeichen steht.

  • Anhang wird nicht hinzugefügt: Vergewissere Dich, dass der Pfad zur Datei korrekt ist und die Datei vorhanden ist.


Alternative Methoden

Wenn Du kein Outlook verwendest oder eine andere E-Mail-Anwendung hast, kannst Du den Code entsprechend anpassen. Für Google Mail oder andere Dienste benötigst Du meist eine API oder ein externes Tool, um E-Mails zu versenden.

Eine gängige Alternative ist die Verwendung von Add-Ins oder Makros, die speziell für das Versenden von E-Mails aus Excel entwickelt wurden.


Praktische Beispiele

Hier sind einige Beispiele für den VBA-Code, den Du verwenden kannst:

  1. E-Mail mit einem Word-Dokument:

    .Attachments.Add ("C:\Pfad\zu\deinem\Dokument.docx") ' Word-Dokument als Anhang
  2. E-Mail an mehrere Empfänger:

    .To = "empfaenger1@example.com; empfaenger2@example.com" ' Mehrere Empfänger
  3. HTML-formatierter Text:

    .HTMLBody = "<h2>Wichtige Informationen</h2><p>Hier ist der Text der E-Mail.</p>"

Tipps für Profis

  • Verwende Variablen für Empfänger und Betreff, um den Code flexibler zu gestalten.
  • Teste den Code mit einer Test-E-Mail, bevor Du ihn im Produktivbetrieb verwendest.
  • Nutze Error Handling in deinem VBA-Code, um Fehler abzufangen und zu behandeln.

FAQ: Häufige Fragen

1. Kann ich den E-Mail-Button auch in Excel für Mac verwenden?
Ja, jedoch kann die VBA-Implementierung leicht variieren. Stelle sicher, dass Du die richtige Outlook-Referenz verwendest.

2. Wie kann ich den E-Mail-Button anpassen?
Du kannst den Text, die Empfänger und den Anhang im VBA-Code ändern, um die E-Mail nach Deinen Bedürfnissen zu gestalten.

3. Was tun, wenn der Button nicht funktioniert?
Überprüfe die Makrosicherheitseinstellungen in Excel unter "Datei" > "Optionen" > "Trust Center". Stelle sicher, dass Makros aktiviert sind.

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