Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: E-Mail per Userform senden

E-Mail per Userform senden
25.05.2008 19:17:01
Maris
Hi,
ist es möglich per Userform eine E-Mail zu versenden? Ich habe eine Auswahl box und eine Text Box! Wenn beide Angaben ausgefüllt wurden, sollen Sie per klick an eine bestimmte E-Mail versendet werden...

Private Sub UserForm_Initialize()
With Me.ComboBox1
.AddItem "Beispiel1"
.AddItem "Beispiel2"
End With
End Sub


VG
Maris

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: E-Mail per Userform senden
25.05.2008 21:16:55
Maris
Hi niemand ne lösung?

AW: E-Mail per Userform senden
25.05.2008 21:49:07
Lars
Hi,
womit soll die versand werden?
mfg Lars

AW: E-Mail per Userform senden
26.05.2008 10:17:59
Mazilu
Hi Lars,
ich habe in einer Userform eine Textbox und ein Listfeld eingefügt. Der User kann Daten in das Textfeld schreiben und aus der Liste einen Eintrag wählen. HAt er das gemacht, solle mit einem button diese Angaben an Outlook übergeben und an eine bestimmte E-Mail versenden?
Gruß
Maris

Anzeige
AW: E-Mail per Userform senden
26.05.2008 13:26:00
Ralf_P
Hallo Maris,
etwa so? Code in cmd_OK der ufrm einfügen

Private Sub CommandButton1_click ()
Dim outObj As Object
Dim Mail As Object
Dim i As Integer
If TextBox1.Text  "" and ListBox1.Text  "" Then
Set outObj = CreateObject("Outlook.Application")
Set Mail = outObj.CreateItem(0)
With Mail
.Subject = "Text für Betreffzeile"
.Body = "Sehr geehrter Herr .......... " & Chr(13)  _
& "weiterer Text " _
& TextBox1.Text & Chr(13) _
& ListBox1.Text & Chr(13)  _
& "weiterer Text " _
& "Mit freundlichen Grüßen " & Chr(13)
'    Application.UserName                       'Benutzername
'    .To = abc@xyz.de                   		'Adressfeld
'    .CC = abc@xyz.de  		                   'Adressfeld
End With
Mail.Display
Elseif
Msgbox "Bitte Pflichtfelder füllen!"
End if
Set Mail = Nothing
Set outObj = Nothing
End Sub


Gruß Ralf

Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

E-Mail per Userform in Excel versenden


Schritt-für-Schritt-Anleitung

Um eine E-Mail über eine Userform in Excel zu versenden, benötigst du einige grundlegende Kenntnisse in VBA (Visual Basic for Applications). Befolge diese Schritte, um deine eigene Userform zu erstellen:

  1. Userform erstellen:

    • Öffne Excel und gehe zu Entwicklertools > Visual Basic.
    • Füge eine neue Userform hinzu, indem du auf Einfügen > UserForm klickst.
  2. Steuerelemente hinzufügen:

    • Ziehe eine TextBox und ein ListBox auf die Userform.
    • Füge einen CommandButton hinzu, der den Versand der E-Mail auslösen soll.
  3. Code für die Userform hinzufügen:

    • Doppelklicke auf die Userform und füge den folgenden Code in das UserForm_Initialize-Ereignis ein, um die Auswahlbox zu füllen:
    Private Sub UserForm_Initialize()
       With Me.ComboBox1
           .AddItem "Beispiel1"
           .AddItem "Beispiel2"
       End With
    End Sub
  4. Code für den E-Mail-Versand:

    • Doppelklicke auf den CommandButton und füge diesen Code ein:
    Private Sub CommandButton1_Click()
       Dim outObj As Object
       Dim Mail As Object
    
       If TextBox1.Text <> "" And ListBox1.Text <> "" Then
           Set outObj = CreateObject("Outlook.Application")
           Set Mail = outObj.CreateItem(0)
           With Mail
               .Subject = "Text für Betreffzeile"
               .Body = "Sehr geehrter Herr .......... " & Chr(13) & _
                        "weiterer Text " & TextBox1.Text & Chr(13) & _
                        ListBox1.Text & Chr(13) & _
                        "weiterer Text " & "Mit freundlichen Grüßen " & Chr(13)
               '.To = "abc@xyz.de" ' Adressfeld
               ' .CC = "abc@xyz.de" ' CC-Feld
           End With
           Mail.Display
       Else
           MsgBox "Bitte Pflichtfelder füllen!"
       End If
    
       Set Mail = Nothing
       Set outObj = Nothing
    End Sub
  5. Testen der Userform:

    • Schließe den VBA-Editor und kehre zu Excel zurück.
    • Führe die Userform aus, gib die erforderlichen Informationen ein und klicke auf den Button, um die E-Mail zu versenden.

Häufige Fehler und Lösungen

  • Fehler: "Objekt nicht gefunden":

    • Stelle sicher, dass Outlook installiert und konfiguriert ist. Der Code erstellt eine Instanz von Outlook, die vorhanden sein muss.
  • Fehler: E-Mail wird nicht gesendet:

    • Überprüfe, ob die To- und CC-Felder korrekt ausgefüllt sind. Wenn sie leer sind, wird die E-Mail möglicherweise nicht gesendet.
  • Fehler: Pflichtfelder nicht ausgefüllt:

    • Vergewissere dich, dass die TextBox und die ListBox Daten enthalten, bevor du auf den Button klickst.

Alternative Methoden

Falls du keine Userform verwenden möchtest, kannst du auch einfach VBA-Makros verwenden, um E-Mails direkt aus Excel zu versenden. Hier ist ein einfaches Beispiel:

Sub SendEmail()
    Dim outObj As Object
    Dim Mail As Object

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

    With Mail
        .To = "abc@xyz.de"
        .Subject = "Betreff"
        .Body = "Nachrichtentext"
        .Send
    End With

    Set Mail = Nothing
    Set outObj = Nothing
End Sub

Praktische Beispiele

Hier ist ein praktisches Beispiel, wie du die Userform konfigurieren kannst. Angenommen, du möchtest eine Umfrage per E-Mail versenden:

  1. Userform-Elemente:

    • TextBox für den Umfrageteilnehmer.
    • ListBox mit verschiedenen Umfrageoptionen.
  2. Code zum Versenden:

    • Nutze den oben gegebenen Code und passe den Text im Body an, um die Umfrageergebnisse zu übermitteln.

Tipps für Profis

  • E-Mail-Formatierung:

    • Verwende HTML-Formatierung für eine ansprechendere E-Mail. Setze den BodyFormat auf olFormatHTML.
  • Verwendung von Variablen:

    • Speichere Eingaben in Variablen, um den Code übersichtlicher zu gestalten.
  • Debugging:

    • Nutze die Debugging-Tools in VBA, um Fehler schnell zu identifizieren und zu beheben.

FAQ: Häufige Fragen

1. Kann ich auch E-Mails an mehrere Empfänger senden? Ja, du kannst mehrere E-Mail-Adressen im To-Feld durch ein Semikolon getrennt angeben.

2. Ist es nötig, Outlook installiert zu haben? Ja, der Code verwendet Outlook zur Erstellung und zum Versand der E-Mail. Stelle sicher, dass Outlook korrekt konfiguriert ist.

3. Funktioniert dies in allen Excel-Versionen? Die oben genannten Schritte sollten in den meisten Excel-Versionen ab 2007 funktionieren, solange VBA unterstützt wird.

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