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

Forumthread: SendMail ohne Outlook

SendMail ohne Outlook
Stefan
Hallo,
und gleich noch eine Frage. Diese ist aber - glaube ich - wesentlich kniffliger.
Ich würde gerne von Excel aus per Makro EMails verschicken, wenn gewisse Dinge festgestellt werden.
Leider ist auf dem Rechner, auf dem das Makro läuft kein Outlook, sondern Lotus Notes installiert.
Wenn ich die Funktion SendMail benutze, bekomme ich immer eine Fehlermeldung.
Gibt es irgednwie eine Möglichkeit die Mails dennoch zu verschicken? Geht das möglicherweise auch ohne das Workbook als Anhang? Und möglicherweise auch unter einem "Pseudonym" als Absender? Also nicht der Username unter dem das Makro läuft, sondern meinetwegen der Makroname als Absender?
Ich weiß - viele Fragen.
Ich danke euch schonmal
Stefan
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: SendMail ohne Outlook
Oberschlumpf
Hi Stefan
Schau Dir mal diesen Thread an:
https://www.herber.de/forum/archiv/208to212/t208689.htm
Oder gib in google.de dies als suchbegriff ein:
lotus notes site:www.herber.de
Konnte ich helfen?
Ciao
Thorsten
Anzeige
AW: SendMail ohne Outlook
Stefan
Leider habe ich ein Problem mit folgender Zeile:
CreateObject("Notes.NotesSession")
Ich bekomme immer folgende Fehlermeldung:
"Objekterstellung durch ActiveX-Komponente nicht möglich"
Stefan
AW: SendMail ohne Outlook
ChrisL
Private Declare Function ShellExecute Lib "Shell32.dll" _
Alias "ShellExecuteA" (ByVal hWnd As Long, _
ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long

Private Sub Mail(eMail As String, Optional Subject As String, _
Optional Body As String)
Call ShellExecute(0&, "Open", "mailto:" + eMail + _
"?Subject=" + Subject + "&Body=" + Body, "", "", 1)
End Sub

Sub MailSenden_Click()
Dim eMail As String, Subject As String, Body As String
eMail = "poststelle@max-mustermann.de"
Subject = "Dies ist die Betreffzeile"
Body = "Dies ist der Nachrichtentext"
Call Mail(eMail, Subject, Body)
End Sub
Anzeige
Leider auch nicht
Stefan
Diese Lösung funktioniert leider auch nicht.
1) Muss ich zum Absenden auf den Knopf drücken (sollte ja das Makro machen)
2) Selbst wenn ich auf Senden klicke, meldet sich erst einmal der Assistent für den Internetzugang.
Stefan
AW: Leider auch nicht
ChrisL
1) Geht nicht automatisch, da du in deinem Beitrag kein spezifisches Ereignis zum Versand definiert hast d.h. "wann" soll die Datei verschickt werden?
2) Wenn ich das Makro "MailSenden" ausführe wird das Mail bei mir (Lotus Notes 5.0.11) ohne Probleme erstellt.
Chris
Anzeige
AW: Leider auch nicht
Stefan
Komisch.
Wenn ich das Makro starte, öffnet sich Outlook Express (ist als Standard eingestellt - kann ich aber nicht ändern).
zu 1).
Ich meinte nicht, dass ich einen Knopf drücken muss, um das Makro zu starten, sondern um die Email endgültig zu verschicken. Die Werte (Empfänger, Betreff ..) sind eingetragen, aber den "Senden"-Button muss ich noch klicken.
Anzeige
AW: Leider auch nicht
ChrisL
Hi Stefan
Auf dem Rechner auf dem es laufen soll ist kein Outlook installiert, Outlook scheint aber als Standard eingestellt zu sein. Wenn nicht Du, dann sollte es sicher die Informatik-Abteilung ändern können, was ich dringed empfehlen würde.
Den Senden-Button musst du schon noch drücken. Alles andere öffent alle Türen für lästige Massen-Mails, darum auch diesen Schutz.
Gruss
Chris
Anzeige
AW: Leider auch nicht
Stefan
Ich danke dir erstmal.
Bringt mich auf jeden Fall schon mal einen Schritt weiter.
Stefan
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
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-Mails aus Excel versenden ohne Outlook


Schritt-für-Schritt-Anleitung

Um E-Mails aus Excel zu versenden, ohne Outlook zu verwenden, kannst du die folgende Vorgehensweise anwenden:

  1. VBA-Editor öffnen:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Modul einfügen:

    • Klicke auf Einfügen und wähle Modul.
  3. VBA-Code einfügen:

    • Füge den folgenden Code in das Modul ein:
    Private Declare Function ShellExecute Lib "Shell32.dll" _
    Alias "ShellExecuteA" (ByVal hWnd As Long, _
    ByVal lpOperation As String, ByVal lpFile As String, _
    ByVal lpParameters As String, ByVal lpDirectory As String, _
    ByVal nShowCmd As Long) As Long
    
    Private Sub Mail(eMail As String, Optional Subject As String, _
    Optional Body As String)
       Call ShellExecute(0&, "Open", "mailto:" + eMail + _
       "?Subject=" + Subject + "&Body=" + Body, "", "", 1)
    End Sub
    
    Sub MailSenden_Click()
       Dim eMail As String, Subject As String, Body As String
       eMail = "poststelle@max-mustermann.de"
       Subject = "Dies ist die Betreffzeile"
       Body = "Dies ist der Nachrichtentext"
       Call Mail(eMail, Subject, Body)
    End Sub
  4. Makro ausführen:

    • Führe das Makro MailSenden_Click aus, um die E-Mail zu erstellen.
  5. Versand bestätigen:

    • Beachte, dass du den "Senden"-Button manuell klicken musst, um die E-Mail zu versenden.

Häufige Fehler und Lösungen

  • Fehler: "Objekterstellung durch ActiveX-Komponente nicht möglich"

    • Wenn du diesen Fehler erhältst, könnte es daran liegen, dass die entsprechende Software (z. B. Lotus Notes) nicht korrekt registriert ist. Stelle sicher, dass Lotus Notes ordnungsgemäß installiert und konfiguriert ist.
  • Fehler: E-Mail wird nicht gesendet

    • Wenn die E-Mail nicht gesendet wird, überprüfe, ob der Standard-Mail-Client richtig eingestellt ist. Manchmal kann es helfen, den Standard-Mail-Client zu ändern, um sicherzustellen, dass er korrekt funktioniert.

Alternative Methoden

Falls du keine VBA-Lösungen verwenden möchtest, kannst du auch folgende Methoden in Betracht ziehen:

  • E-Mail aus Excel versenden ohne VBA:

    • Verwende die Funktion HYPERLINK, um einen mailto: Link zu erstellen. Zum Beispiel:
    =HYPERLINK("mailto:poststelle@max-mustermann.de?subject=Betreff&body=Nachrichtentext", "E-Mail senden")
  • Access Email versenden mit Anhang:

    • Wenn du Access zur Verfügung hast, kannst du auch aus Access heraus E-Mails mit Anhängen versenden, indem du die DoCmd.SendObject Methode verwendest.

Praktische Beispiele

  1. E-Mail mit personalisierten Daten:

    • Du kannst den VBA-Code so anpassen, dass er Daten aus deinem Excel-Blatt nutzt, um E-Mails zu personalisieren.
    Dim eMail As String
    eMail = Cells(1, 1).Value ' Empfänger in Zelle A1
  2. Serienbrief per Mail versenden Outlook:

    • Wenn du eine Liste von Empfängern hast, kannst du eine Schleife verwenden, um E-Mails an mehrere Empfänger zu senden.

Tipps für Profis

  • Massen-Mails versenden Outlook:

    • Achte darauf, die Empfänger in das BCC-Feld einzufügen, um die Privatsphäre zu wahren.
  • Fehlerbehandlung in VBA einbauen:

    • Implementiere Error-Handling in deinem VBA-Code, um unerwartete Fehler besser zu managen.
On Error GoTo ErrorHandler
' Dein Code hier
Exit Sub
ErrorHandler:
   MsgBox "Ein Fehler ist aufgetreten: " & Err.Description

FAQ: Häufige Fragen

1. Kann ich E-Mails ohne Outlook versenden? Ja, du kannst E-Mails aus Excel mit VBA oder anderen Methoden wie HYPERLINK versenden, ohne Outlook zu verwenden.

2. Wie kann ich E-Mails mit Anhängen versenden? Für Anhänge benötigst du in der Regel eine spezifische Software oder ein VBA-Skript, das die Anhänge unterstützt.

3. Ist es möglich, mit VBA Massenmails zu versenden? Ja, du kannst mithilfe von Schleifen in VBA Massenmails verschicken, achte dabei jedoch auf die Einhaltung der Datenschutzbestimmungen.

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