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

Forumthread: Excel 365 E-Mail versenden geht nicht

Excel 365 E-Mail versenden geht nicht
04.04.2022 13:15:28
Dietmar
Hallo,
mit diesem Code habe ich bisher problemlos E-Mails aus Excel verschicken bzw. vorbereiten können:
Dim objOutlook As Object
Dim objMail As Object
Dim strSignatur As String, vorhanden As Variant
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
With objMail
If email_SentOnBehalf "" Then
.SentOnBehalfOfName = email_SentOnBehalf
End If
.To = email_To
If email_CC "" Then
.CC = email_CC
End If
If email_BCC "" Then
.BCC = email_BCC
End If
For i = 1 To 20
If email_Attachment(i) "" Then
vorhanden = ""
vorhanden = Dir(email_Attachment(i))
If vorhanden "" Then
.Attachments.Add email_Attachment(i)
End If
End If
Next i
.Subject = email_Subj
.BodyFormat = olFormatHTML
.HTMLBody = email_Text
' Erstellt die Email und öffnet diese. Der Versand erfolgt automatisch.
If email_Send = "Send" Then
.Send
' Erstellt die Email und öffnet diese. Der Versand erfolgt anschließend manuell.
Else
.Display
End If
' in Outlook gespeicherte Signatur anfügen
If email_Signature "" Then
'VBA.SendKeys "^{END}", True
'.GetInspector.CommandBars.Item("Insert").Controls("Signatur").Controls(email_Signature).Execute
End If
End With
Set objMail = Nothing
Set objOutlook = Nothing
Seit ich jetzt Excel 365 verwende habe ich 2 Probleme:
1. ich verwende ".Display" um das E-Mail nochmal anzusehen. Dann klicke ich in Outlook auf "Senden" und bekomme eine Fehlermeldung, dass das E-Mail nicht versendet werden kann. Ich kann diesen Fehler manuell beheben, indem ich "Senden / Von" in dem Dropdown der E-Mail-Adressen in Outlook manuell auswähle. Ich wähle die identische Absendeadresse aus. Es sieht genauso aus, wie vorher, aber jetzt kann ich das E-Mail problemlos verschicken.
2. Der VBA-Code der eine Signatur einfügt führt zu einer Fehlermeldung: Laufzeifehler 5: Ungültiger Prozeduraufruf oder ungültiges Argument. Der Debugger markiert die Zeile "Getinspector". Das hat auch vorher mit Excel 2010/2016 funktioniert.
Die Verweise in der Excel-Datei sind auf "Microsoft Outlook 16.0 Object Library" gesetzt.
Das Excel 365 hat ebenfalls die interne Version 16.0.
Kann mir hier vielleicht jemand weiter helfen?
Viele Grüße
Dietmar
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel 365 E-Mail versenden geht nicht
04.04.2022 13:31:34
onur
Soweit ich weiss, funktioniert SentOnBehalfOfName nur mit einem Exchangeserver.
AW: Excel 365 E-Mail versenden geht nicht
04.04.2022 13:35:15
mumpel
1. "SentOnBehalfOfName" funktioniert nur mit Exchange. Alternative wäre "SendUsingAccount".
2. "CommandBars.Item" funktioniert in Outlook 365 nicht (mehr).
AW: Excel 365 E-Mail versenden geht nicht
04.04.2022 13:56:40
Dietmar
Hallo,
vielen Dank für eure schnellen Antworten.
1. zu "SendUsingAccount": das funktioniert nur eingeschränkt: die gute Nachricht: ich kann das E-Mail ohne Nacharbeit verschicken. Die schlechte: es wird eine zufällige E-Mail-Adresse ausgewählt: weder die die ich haben wollte, noch die, die in Outlook die Standard-E-Mail-Adresse ist. Hast du dazu vielleicht eine Lösung?
2. Zu der Signatur: hat sich das nur geändert, oder ist es in Office 365 jetzt ersatzlos weg?
Viele Grüße
Dietmar
Anzeige
AW: Excel 365 E-Mail versenden geht nicht
04.04.2022 14:30:26
mumpel
1. Damit SendUsingAccount funktioniert, muss für jede Emailadresse eine eigene Datendatei (ein eigenes Postfach) in Outlook existieren. Wenn alle Adressen in einer Datendatei sind, kann SendUsingAccount nicht funktionieren.
2. CommandBars ist ersatzlos weggefallen, es gibt keine CommandBars mehr.
Anzeige
AW: Excel 365 E-Mail versenden geht nicht
04.04.2022 15:10:19
Dietmar
Hallo Chris,
vielen Dank, das hat geholfen. Die Signatur funktioniert wieder!
Viele Grüße
Dietmar
Anzeige
;

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-Mail aus Excel 365 versenden: Probleme und Lösungen


Schritt-für-Schritt-Anleitung

Um eine E-Mail aus Excel 365 zu versenden, kannst Du den folgenden VBA-Code verwenden. Dieser Code öffnet ein E-Mail-Fenster in Outlook, das Du manuell senden kannst:

Dim objOutlook As Object
Dim objMail As Object
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)

With objMail
    .To = "empfaenger@example.com"
    .CC = "cc@example.com"
    .BCC = "bcc@example.com"
    .Subject = "Betreff der E-Mail"
    .BodyFormat = olFormatHTML
    .HTMLBody = "<h1>Inhalt der E-Mail</h1>"
    .Display ' Oder .Send für automatischen Versand
End With

Set objMail = Nothing
Set objOutlook = Nothing

Stelle sicher, dass Du die entsprechenden E-Mail-Adressen und den Inhalt anpasst.


Häufige Fehler und Lösungen

  1. E-Mail versenden geht nicht: Wenn Du beim Klicken auf "Senden" in Outlook eine Fehlermeldung erhältst, könnte es daran liegen, dass Du die Absenderadresse nicht korrekt ausgewählt hast. Wähle im Dropdown-Menü "Von" die richtige Adresse aus, bevor Du die E-Mail sendest.

  2. Laufzeitfehler 5 bei Signatur: Wenn der Code für das Einfügen der Signatur nicht funktioniert, kann das an den Änderungen in Outlook 365 liegen. Die Zeile mit .GetInspector.CommandBars ist nicht mehr gültig. Du musst eine alternative Methode finden, um die Signatur hinzuzufügen.


Alternative Methoden

Wenn das Versenden von E-Mails mit VBA nicht funktioniert, kannst Du folgende Alternativen in Betracht ziehen:

  • Outlook-Mail aus anderem Postfach versenden: Stelle sicher, dass Du die richtige E-Mail-Adresse im "Von"-Feld auswählst, um aus einem anderen Postfach zu senden.

  • Serienbrief per E-Mail versenden mit Word: Du kannst auch Word nutzen, um einen Serienbrief zu erstellen und diesen direkt per E-Mail zu versenden. Diese Methode ist besonders nützlich, wenn Du personalisierte E-Mails an mehrere Empfänger schicken möchtest.


Praktische Beispiele

Hier ist ein Beispiel, wie Du eine Excel-Datei per E-Mail versenden kannst:

Dim objOutlook As Object
Dim objMail As Object
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)

With objMail
    .To = "empfaenger@example.com"
    .Subject = "Excel Datei"
    .Body = "Hier ist die angeforderte Excel-Datei."
    .Attachments.Add "C:\Pfad\zu\deiner\datei.xlsx" ' Pfad zur Excel-Datei
    .Send ' Automatischer Versand
End With

Set objMail = Nothing
Set objOutlook = Nothing

Dieser Code sendet die Excel-Datei direkt an den Empfänger.


Tipps für Profis

  • Verwendung von .SentOnBehalfOfName: Dies funktioniert nur, wenn Du mit einem Exchange-Server arbeitest. Wenn Du also eine andere E-Mail-Plattform verwendest, könnte dies der Grund sein, warum Du E-Mails nicht versenden kannst.

  • VBA-Referenzen: Achte darauf, dass in Deinen VBA-Projektverweisen die „Microsoft Outlook xx.x Object Library“ aktiviert ist, um sicherzustellen, dass alle Funktionen korrekt funktionieren.


FAQ: Häufige Fragen

1. Warum kann ich E-Mails nicht aus Excel versenden? Das kann mehrere Gründe haben, unter anderem falsche E-Mail-Adressen oder fehlende Berechtigungen im Outlook-Profil.

2. Was kann ich tun, wenn meine Signatur nicht eingefügt wird? Die Methode zum Einfügen von Signaturen hat sich in Office 365 geändert. Verwende eine alternative Methode, um die Signatur manuell hinzuzufügen.

3. Wie kann ich sicherstellen, dass die richtige Absenderadresse ausgewählt wird? Überprüfe, ob jede E-Mail-Adresse in Outlook eine separate Datendatei hat. Andernfalls kann die Funktion SendUsingAccount nicht korrekt arbeiten.

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