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

Forumthread: vba email senden

vba email senden
29.11.2017 14:35:24
Erik
Hallo zusammen.
Ich möchte gerne das Excel automatisch eine Mail versendet.
Ich habe diesen Code gefunden.
Sub EmailDirektSenden()
Dim objOutlook As Object
Dim objMail As Object
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
With objMail
.To = "deinname@deinedomain.de"
.Subject = "Betreff"
.Body = "Ihre Nachricht."
.Send        'Sendet die Email automatisch
End With
End Sub
leider kommt die Fehlermeldung:
Laufzeitfehler 287
Anwendungs- oder objektdefinierter Fehler
Gruß
Erik
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
bei mir funktionierts...
29.11.2017 14:51:17
Sandra
...nachdem ich im Outlook "Erteilen" bestätige!
Gruß Sandra
AW: bei mir funktionierts...
29.11.2017 15:01:57
Erik
Bei mir leider nicht.
Der Fehler liegt laut Debugger in der .Send Zeile
wenn ich .Send durch .Display ersetze öffnet sich outlook aber die Mail wird (leider nicht wie gewollt) automatisch versendet.
Gruß
Erik
mmh...
29.11.2017 15:33:43
Sandra
ich könnte mir dann nur vorstellen, das die Sicherheitseinstellungen im Outlook etwas dagegen haben, dass du automatisch E-mails verbreitest.
Ansonsten bin ich raus. Aber einer der Profis wird dir sicherlich helfen können.
Gruß Sandra
Anzeige
AW: bei mir funktionierts...
29.11.2017 15:41:12
Nepumuk
Hallo Erik,
die Hilfe zu Outlook sagt zu dem Fehler dass du keinen Zugriff auf das Adressbuch hast. Hilft dir das weiter?
Ich lass die Frage mal offen.
Gruß
Nepumuk
AW: bei mir funktionierts...
29.11.2017 16:34:19
Erik
Ich schau mal ob ich da was finde.
Danke Nepumuk & Sandra
AW: bei mir funktionierts...
30.11.2017 09:44:43
Erik
Hallo nochmals zusammen.
Hab das Problem lösen können.
Excel meldet diesen Fehler wenn Outlook nicht gestartet wurde.
Wenn ich Outlook manuell starte, und dann mein Makro starte läuft alles einwandfrei.
Gibt es ein VBA Code um ein externes Programm (Outlook) zu starten ?
Gruß
Erik
Anzeige
AW: bei mir funktionierts...
30.11.2017 10:34:45
Sandra
Hallo Erik,
versuchs mal hiermit:
Option Explicit
Sub senden_()
Dim olApp As Object
Set olApp = CreateObject("Outlook.Application")
With olApp.CreateItem(0)
.Recipients.Add "deinname@deinedomain.de"
.Subject = "Betreff"
.Body = "Ihre Nachricht"
.Send
End With
Set olApp = Nothing
End Sub
Gruß Sandra
Anzeige
AW: bei mir funktionierts...
30.11.2017 11:56:19
Erik
Hallo Sandra,
nein geht leider nicht :-(
Laufzeitfehler 287
Gruß
Erik
Schau Dir mal das...
30.11.2017 12:02:49
Case
Hallo Erik, :-)
... Beispiel in folgendem Link an: ;-)
Laufzeitfehler 287...
Ich kann das Problem auch nicht nachvollziehen, aber das haben andere scheinbar auch.
Servus
Case

Anzeige
Security Einstellungen im Firmennetzwerk und...
30.11.2017 12:09:41
EtoPHG
ggf. keine Administrator-Rechte auf deinem Client, führen typischerweise zu diesem Fehler.
Gruess Hansueli
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

VBA E-Mail Versenden aus Excel


Schritt-für-Schritt-Anleitung

Um eine E-Mail automatisch aus Excel zu versenden, benötigst du ein VBA-Makro. Hier ist eine einfache Anleitung, wie du dies umsetzen kannst:

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

  2. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code ein:

    Sub EmailDirektSenden()
       Dim objOutlook As Object
       Dim objMail As Object
       Set objOutlook = CreateObject("Outlook.Application")
       Set objMail = objOutlook.CreateItem(0)
       With objMail
           .To = "deinname@deinedomain.de"
           .Subject = "Betreff"
           .Body = "Ihre Nachricht."
           .Send 'Sendet die Email automatisch
       End With
    End Sub
  4. Passe die E-Mail-Adresse, den Betreff und den Nachrichtentext an deine Bedürfnisse an.

  5. Schließe den VBA-Editor und führe das Makro aus.

Achte darauf, dass Outlook geöffnet ist, da sonst ein Laufzeitfehler 287 auftreten kann.


Häufige Fehler und Lösungen

  • Laufzeitfehler 287: Dieser Fehler tritt häufig auf, wenn Outlook nicht gestartet ist oder wenn die Sicherheitseinstellungen in Outlook den automatischen Versand von E-Mails blockieren. Stelle sicher, dass Outlook läuft und überprüfe die Sicherheitseinstellungen.

  • Fehler bei der .Send-Methode: Wenn die E-Mail nicht versendet wird, aber das Fenster angezeigt wird, kann es hilfreich sein, die .Display-Methode zu verwenden, um die E-Mail zu überprüfen, bevor sie gesendet wird.

  • Zugriffsprobleme auf das Adressbuch: Wenn du keinen Zugriff auf das Adressbuch hast, wird der E-Mail-Versand möglicherweise blockiert. Überprüfe deine Outlook-Einstellungen und stelle sicher, dass du die erforderlichen Berechtigungen hast.


Alternative Methoden

Falls du mit VBA nicht vertraut bist oder eine andere Methode bevorzugst, kannst du auch die Excel Makro-Funktion verwenden, um E-Mails zu versenden:

  1. Excel Makro E-Mail versenden: Du kannst das Makro so anpassen, dass es eine E-Mail mit einem angehängten Excel-Dokument versendet.

    Sub EmailMitAnhang()
       Dim objOutlook As Object
       Dim objMail As Object
       Set objOutlook = CreateObject("Outlook.Application")
       Set objMail = objOutlook.CreateItem(0)
       With objMail
           .To = "deinname@deinedomain.de"
           .Subject = "Betreff"
           .Body = "Hier ist der Anhang."
           .Attachments.Add "C:\DeinPfad\DeineDatei.xlsx"
           .Send
       End With
    End Sub
  2. E-Mails aus Excel versenden: Nutze den Code, um E-Mails an mehrere Empfänger zu senden, indem du eine Schleife implementierst.


Praktische Beispiele

Hier sind einige Beispiele, wie du den E-Mail-Versand in unterschiedlichen Szenarien nutzen kannst:

  • Automatische Erinnerungsmails: Erstelle ein Makro, das automatisch Erinnerungsmails versendet, wenn ein bestimmtes Datum erreicht wird.

  • Berichtversand: Versende regelmäßig Berichte aus Excel per E-Mail, indem du die entsprechenden Daten in der E-Mail einfügst.


Tipps für Profis

  • Sicherheitseinstellungen anpassen: Überprüfe die Sicherheitseinstellungen in Outlook, um sicherzustellen, dass du E-Mails ohne Einschränkungen versenden kannst.

  • Fehlerbehandlung einfügen: Implementiere Fehlerbehandlungen in deinem VBA-Code, um bei Problemen eine informative Fehlermeldung auszugeben.

  • E-Mail-Vorlagen verwenden: Erstelle E-Mail-Vorlagen in Outlook und rufe diese in deinem VBA-Skript auf, um Zeit zu sparen.


FAQ: Häufige Fragen

1. Wie kann ich automatisch Emails versenden?
Du kannst dies tun, indem du ein VBA-Makro schreibst, das die .Send-Methode verwendet, um die E-Mail zu versenden.

2. Was ist der Laufzeitfehler 287?
Dieser Fehler tritt auf, wenn es einen Zugriffsfehler auf das Outlook-Objekt gibt, meist verursacht durch fehlende Berechtigungen oder wenn Outlook nicht gestartet ist.

3. Kann ich E-Mails mit Anhängen versenden?
Ja, du kannst die .Attachments.Add-Methode in deinem VBA-Code verwenden, um Dateien als Anhang hinzuzufügen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige