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
Anzeige