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

Forumthread: Mail aus Excel senden Makro

Mail aus Excel senden Makro
03.12.2007 11:46:00
chris
Hallo VBA profis,
habe hier ein problem bei dem ich nicht weiter weiß.
habe dieses Makro(teil) unten zum senden von E-mails aus Excel heraus...
aber leider funktioniert das total unzuverlässig.
Manchmal wird die mail gesendet an alle dann ein anderes mal nicht ...
auch wenn Outlook zu ist wird n ichts gesendet. ? Was kann ich machen oder wie kann ich den code verbessern ?
Vielen Dank an euch alle !!!!
.Subject = betreff & " von " & Environ("UserName") & " " & Worksheets(send_shts).Cells(7, 3) & " am " & Date ' hier Betreff für E-Mail
' Set oOLAttach = .Attachments.Add(speicherpfad & dateiname) ' hier Anhang definieren
.FlagStatus = olFlagMarked 'Mail zur Nachverfolgung kennzeichnen
.FlagDueBy = Now + 10 'Datum festlegen wann Nachverfolgung (Heute + 10 Tage)
.Body = mail_body 'Link + Text in der E-Mail
On Error Resume Next 'evtl. Fehler abfangen
.Send 'Mail senden
oOLRecip.Resolve 'Recipient-Objekt auflösen
If Err.Number = 287 Then
ActiveWorkbook.Protect "pass"
MsgBox ("E-Mail nicht gesendet - Datei wurde kopiert"), vbCritical, "Warnung - Bitte prüfen"
sheet_nr = sheet_nr + 1
End
Else
'MsgBox ("Dateien erfolgreich kopiert und E-Mail verschickt !"), vbInformation, "erfolgreich abgeschlossen"
'Objektvariablen aufheben
Set oOL = Nothing
Set oOLMsg = Nothing
Set oOLRecip = Nothing
Set oOLAttach = Nothing

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Mail aus Excel senden Makro
03.12.2007 13:17:21
haw
Hallo Chris,
ich verwende folgenden Code und es funktioniert immer:

Sub SendMail(Adr$, AdrK$, Betrifft$, Text$, Pfad$)
Dim outl, Mail As Object
Set outl = CreateObject("Outlook.Application")
Set Mail = outl.CreateItem(0)
Mail.Subject = Betrifft
Mail.Body = Text
Mail.To = Adr
Mail.CC = AdrK
If Pfad  "" Then Mail.Attachments.Add Pfad
Mail.ReadReceiptRequested = True
Mail.Send
End Sub


Gruß
Heinz

Anzeige
AW: Mail aus Excel senden Makro
03.12.2007 14:44:02
chris
danke werd ich mal versuchen.. gruß Chris
Aber habe glaube ich das problem gerade auch gefunden ..
Und zwar kommt es immer zu problemem wenn .. (cih verwende Exchange)
wenn ich nicht einen Empfänger selbst angebe sondern eine Empfängerliste(verteilerliste)
die bei uns im Outlook angelegt sind verwende.
Weißt du da einen Tipp ?
Wnen nicht trotzdem vielen Dank

Anzeige
AW: Mail aus Excel senden Makro
03.12.2007 15:49:01
haw
Hallo Chris,
bei funktioniert das so:

Sub test()
SendMail "Gruppe", "hein@prov.at", "Test", "Text", ""
End Sub


wobei Gruppe eine Verteilerliste aus Outlook ist.
Gruß
Heinz

AW: Mail aus Excel senden Makro
03.12.2007 18:03:00
chris
Danke werde ich morgen mal testen.
Merci
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

E-Mail aus Excel versenden mit Makros


Schritt-für-Schritt-Anleitung

Um eine E-Mail aus Excel zu versenden, kannst du ein einfaches VBA-Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

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

  2. Füge ein neues Modul hinzu:

    • Rechtsklicke im Projektfenster auf "VBAProject (dein Dokument)" und wähle "Einfügen" > "Modul".
  3. Füge den folgenden Code ein:

    Sub SendMail(Adr As String, AdrK As String, Betrifft As String, Text As String, Pfad As String)
       Dim outl As Object
       Dim Mail As Object
       Set outl = CreateObject("Outlook.Application")
       Set Mail = outl.CreateItem(0)
       Mail.Subject = Betrifft
       Mail.Body = Text
       Mail.To = Adr
       Mail.CC = AdrK
       If Pfad <> "" Then Mail.Attachments.Add Pfad
       Mail.ReadReceiptRequested = True
       Mail.Send
    End Sub
  4. Verwende das Makro in einem anderen Sub, um die E-Mail zu versenden:

    Sub test()
       SendMail "empfaenger@example.com", "cc@example.com", "Betreff der E-Mail", "Text der E-Mail", ""
    End Sub
  5. Führe das test-Makro aus, um die E-Mail zu senden.


Häufige Fehler und Lösungen

  • Fehler: E-Mail wird nicht gesendet.

    • Lösung: Stelle sicher, dass Outlook geöffnet ist. Das Makro benötigt eine aktive Outlook-Sitzung.
  • Fehler: Empfängerliste funktioniert nicht.

    • Lösung: Wenn du eine Verteilerliste verwendest, stelle sicher, dass die Liste korrekt in Outlook angelegt ist. Teste die E-Mail zuerst mit einer einzelnen Adresse.
  • Fehler: Outlook zeigt eine Sicherheitswarnung an.

    • Lösung: Du kannst die Sicherheitseinstellungen in Outlook anpassen, um diese Warnungen zu minimieren.

Alternative Methoden

Wenn das direkte Senden von E-Mails aus Excel nicht funktioniert, kannst du auch folgende Methoden ausprobieren:

  1. Nutze Power Automate: Mit Microsoft Power Automate kannst du automatisierte Workflows erstellen, die E-Mails basierend auf Excel-Daten versenden.
  2. Verwende eine Drittanbieter-Bibliothek: Es gibt viele Tools, die das Senden von E-Mails aus Excel erleichtern, wie z.B. CDO oder SMTP-Server.

Praktische Beispiele

Hier sind zwei Beispiele für das Senden von E-Mails aus Excel:

  1. E-Mail ohne Anhang:

    Sub SendSimpleMail()
       SendMail "empfaenger@example.com", "", "Einfacher Betreff", "Dies ist eine Testnachricht.", ""
    End Sub
  2. E-Mail mit Anhang:

    Sub SendMailWithAttachment()
       SendMail "empfaenger@example.com", "", "Betreff mit Anhang", "Hier ist der Anhang.", "C:\Pfad\zur\Datei.txt"
    End Sub

Tipps für Profis

  • Verwendung von CC und BCC: Du kannst mehrere Empfänger hinzufügen, indem du die E-Mail-Adressen durch Semikolons trennst.
  • Fehlerbehandlung: Verwende On Error Resume Next, um Fehler während des Sendens abzufangen und entsprechende Maßnahmen zu ergreifen.
  • Nachverfolgung: Setze Flags für die Nachverfolgung, um sicherzustellen, dass du wichtige E-Mails nicht vergisst.

FAQ: Häufige Fragen

1. Frage
Wie kann ich sicherstellen, dass meine E-Mails immer gesendet werden?
Antwort: Stelle sicher, dass Outlook geöffnet ist und dass du keine Verteilerlisten ohne vorherige Überprüfung verwendest.

2. Frage
Kann ich E-Mails an mehrere Empfänger gleichzeitig senden?
Antwort: Ja, du kannst die E-Mail-Adressen im "To" oder "CC"-Feld durch Semikolons trennen.

3. Frage
Funktioniert das Makro mit allen Excel-Versionen?
Antwort: Das Makro sollte in den meisten Excel-Versionen funktionieren, die VBA unterstützen, einschließlich Excel 2010 und neuer.

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