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

Forumthread: Aus Excel eine EMail generieren und senden

Aus Excel eine EMail generieren und senden
18.03.2008 14:45:35
Helmut
Hallo
ich erzeuge in Excel eine Email und schicke diese mit dem Outlookbefehl .send ab. Nun kommt von Outlook die Meldung, dass ein fremdes Programm eine Email versenden will. Der JA Button wird in dieser Meldung erst nach 6 Sekunden aktiv.
Wie kann ich aus meinen Excel VBA-Programm diese Meldung abfangen, so dass der Anwender diese Meldung nicht immer quittieren muss?
Ich verwende:
Dim OutApp As Outlook.Application, Mail As Object
Dim Nachricht As MailItem
' 1.1 Variable belegen
Set OutApp = CreateObject("Outlook.Application")
Set Nachricht = OutApp.CreateItem(olMailItem)
' 1.2 Email erzeugen, Daten übergeben und senden
With Nachricht
.To = EmailAdr ' Email Adresse
.Subject = Betreff ' Betreff
.Body = Infotext ' Emailtext
.Send
End With
End Sub
PS: Wird kein Spam Mail Generator sondern ein Benachrichtungssystem unserer Empfangsdamen zu den Blackberries unserer Keyaccounts während einer Hausmesse

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

E-Mails aus Excel generieren und versenden


Schritt-für-Schritt-Anleitung

Um eine E-Mail aus Excel zu generieren und zu versenden, kannst Du folgendes VBA-Skript verwenden. Stelle sicher, dass Du Microsoft Outlook installiert hast, da wir es zur E-Mail-Generierung nutzen.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke auf Einfügen und wähle Modul.
  3. Füge den folgenden Code in das Modul ein:
Sub EmailGenerieren()
    Dim OutApp As Object
    Dim Nachricht As Object
    Dim EmailAdr As String
    Dim Betreff As String
    Dim Infotext As String

    EmailAdr = "deine.email@beispiel.com" ' Hier die E-Mail-Adresse einfügen
    Betreff = "Betreff der E-Mail"
    Infotext = "Dies ist der Inhalt der E-Mail."

    Set OutApp = CreateObject("Outlook.Application")
    Set Nachricht = OutApp.CreateItem(0) ' olMailItem

    With Nachricht
        .To = EmailAdr
        .Subject = Betreff
        .Body = Infotext
        .Send
    End With

    Set Nachricht = Nothing
    Set OutApp = Nothing
End Sub
  1. Passe die Variablen EmailAdr, Betreff und Infotext nach Deinen Bedürfnissen an.
  2. Schließe den VBA-Editor und kehre zu Excel zurück.
  3. Drücke ALT + F8, wähle EmailGenerieren und klicke auf Ausführen.

Häufige Fehler und Lösungen

  • Fehler: Outlook fragt nach Bestätigung.

    • Lösung: Es ist nicht möglich, diese Sicherheitsabfrage ohne zusätzliche Software zu umgehen. Eventuell kannst Du die Sicherheitsoptionen von Outlook anpassen, um die Abfrage zu minimieren.
  • Fehler: E-Mail wird nicht gesendet.

    • Lösung: Stelle sicher, dass Outlook korrekt eingerichtet ist und die Internetverbindung funktioniert.

Alternative Methoden

Wenn Du keine VBA-Programmierung verwenden möchtest, kannst Du auch folgende Methoden ausprobieren:

  • Mail Merge in Word: Exportiere Deine Excel-Daten nach Word und nutze die Seriendruck-Funktion, um E-Mails zu generieren.
  • Add-Ins: Es gibt zahlreiche Excel-Add-Ins, die das automatisierte Versenden von E-Mails erleichtern, ohne dass Du selbst programmieren musst.

Praktische Beispiele

  1. E-Mail an mehrere Empfänger:
Sub EmailsAnMehrereEmpfaenger()
    Dim OutApp As Object
    Dim Nachricht As Object
    Dim EmailAdressen As String

    EmailAdressen = "email1@beispiel.com; email2@beispiel.com" ' Mehrere E-Mail-Adressen

    Set OutApp = CreateObject("Outlook.Application")
    Set Nachricht = OutApp.CreateItem(0)

    With Nachricht
        .To = EmailAdressen
        .Subject = "Betreff"
        .Body = "Inhalt der E-Mail."
        .Send
    End With
End Sub
  1. E-Mail mit Anhang:
Sub EmailMitAnhang()
    Dim OutApp As Object
    Dim Nachricht As Object
    Dim Anhang As String

    Anhang = "C:\Pfad\zur\Datei.txt" ' Pfad zur Datei

    Set OutApp = CreateObject("Outlook.Application")
    Set Nachricht = OutApp.CreateItem(0)

    With Nachricht
        .To = "deine.email@beispiel.com"
        .Subject = "Betreff"
        .Body = "Hier ist der Anhang."
        .Attachments.Add Anhang
        .Send
    End With
End Sub

Tipps für Profis

  • Fehlerprotokollierung: Implementiere eine Fehlerbehandlung im VBA-Code, um mögliche Probleme beim Senden von E-Mails zu protokollieren.
  • Automatisierung: Verwende den Taskplaner von Windows, um das Skript zu bestimmten Zeiten automatisch auszuführen.
  • E-Mail-Adressen aus Excel generieren: Stelle sicher, dass Deine E-Mail-Adressen in einem sauberen Format vorliegen, um Fehler beim Versenden zu vermeiden.

FAQ: Häufige Fragen

1. Kann ich E-Mails aus Excel versenden, ohne VBA zu verwenden? Ja, Du kannst Add-Ins verwenden oder die Seriendruckfunktion in Word nutzen.

2. Wie kann ich sicherstellen, dass meine E-Mail-Adresse in Excel korrekt ist? Verwende die Datenüberprüfung in Excel, um sicherzustellen, dass die eingegebenen E-Mail-Adressen dem richtigen Format entsprechen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige