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

Auf einmal Laufzeitfehler - Mailanhang

Forumthread: Auf einmal Laufzeitfehler - Mailanhang

Auf einmal Laufzeitfehler - Mailanhang
05.05.2015 09:28:19
Andreas
Hallo,
ich habe mir mit diversen Foren einen VBA Code gebaut, der mir eine PDF erstellt und diese an eine Email anhängt.
Es hat bei den ersten beiden Testläufen wunderbar funktioniert und ich war tierisch begeistert. Seit heute Morgen bekomm ich allerdings immer einen Laufzeitfehler -2147024894 (80070002) und der Debugger zeigt mir folgende Zeile an:
.Attachments.Add DatNam
Unten ist der komplette Code, der wie gesagt auch schon zwei mal wunderbar gelaufen ist und mir die Mail mit Anhang geöffnet hat.
Kann hier jemand helfen und mir sagen, wo der Fehler liegt?

Private Sub Commandbutton1_Click()
Dim strPfad As String
Dim DatNam As String
DatNam = "COB_" & Sheets("COB1").Range("D8").Text & "_" & Sheets("COB1").Range("D3").Text &  _
".pdf"
strPfad = Environ("UserProfile") & "\Desktop\"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strPfad & DatNam, _
Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
Set olApp = CreateObject("Outlook.Application")
With olApp.CreateItem(0)
.TO = "ich@ich.de"
.CC = ""
.Subject = "Confirmation on board_" & Sheets("COB1").Range("D8").Text & "_" &  _
Sheets("COB1").Range("D3").Text
.Attachments.Add DatNam
.Display
End With
End Sub

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Auf einmal Laufzeitfehler - Mailanhang
05.05.2015 09:47:57
mumpel
Hallo!
Beim Anhang fehlt der Pfad, nur der Dateiname reicht nicht.
Gruß, René

AW: Auf einmal Laufzeitfehler - Mailanhang
05.05.2015 10:31:20
Andreas
Hallo René,
hatte ich sogar schon versucht.
Wie genau muss ich den angeben?
Danke und Gruß
Andreas

AW: Auf einmal Laufzeitfehler - Mailanhang
05.05.2015 12:08:09
mumpel
So wie beim Exportieren: .Attachments.Add strPfad & DatNam

Anzeige
AW: Auf einmal Laufzeitfehler - Mailanhang
05.05.2015 12:21:27
Andreas
So einfach kann es manchmal sein...
Vielen Dank, läuft!
;
Anzeige
Anzeige

Infobox / Tutorial

Laufzeitfehler beim E-Mail-Anhang in Excel VBA beheben


Schritt-für-Schritt-Anleitung

Um den Laufzeitfehler -2147024894 zu beheben, folge diesen Schritten:

  1. Überprüfe den Dateipfad: Stelle sicher, dass der Pfad zur Datei korrekt angegeben ist. In deinem ursprünglichen Code hast du nur den Dateinamen verwendet.

  2. Passe den Code an: Ersetze die Zeile, in der du die Datei anhängst, durch die folgende Zeile:

    .Attachments.Add strPfad & DatNam

    Achte darauf, dass strPfad den korrekten Pfad zu deinem Desktop enthält.

  3. Teste den Code: Führe den Code erneut aus, um zu überprüfen, ob der Fehler behoben ist.


Häufige Fehler und Lösungen

  • Laufzeitfehler -2147024894: Dieser Fehler tritt auf, wenn der angegebene Dateipfad nicht gefunden werden kann. Achte darauf, dass die Datei existiert und der Pfad korrekt ist.

  • Laufzeitfehler -2147467259: Dieser Fehler kann auftreten, wenn die E-Mail-Anwendung (z.B. Outlook) nicht korrekt gestartet werden kann. Stelle sicher, dass Outlook installiert und richtig konfiguriert ist.

  • Laufzeitfehler 5174: Wenn Du diesen Fehler bekommst, überprüfe, ob die Datei, die Du anfügen möchtest, nicht bereits geöffnet ist oder ob Du die richtigen Berechtigungen hast.


Alternative Methoden

Falls Du weiterhin Probleme hast, kannst Du auch andere Methoden zur E-Mail-Versendung in Betracht ziehen:

  • Verwendung von Excel-Add-Ins: Es gibt viele Add-Ins, die die E-Mail-Versendung aus Excel erleichtern und Probleme mit VBA umgehen können.

  • Power Automate: Microsoft Power Automate kann verwendet werden, um automatisierte E-Mails mit Anhängen zu senden, ohne dass VBA benötigt wird.


Praktische Beispiele

Hier ist ein vollständiges Beispiel, wie der Code nach der Anpassung aussehen sollte:

Private Sub Commandbutton1_Click()
    Dim strPfad As String
    Dim DatNam As String
    DatNam = "COB_" & Sheets("COB1").Range("D8").Text & "_" & Sheets("COB1").Range("D3").Text & ".pdf"
    strPfad = Environ("UserProfile") & "\Desktop\"
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strPfad & DatNam, _
    Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
    OpenAfterPublish:=False
    Set olApp = CreateObject("Outlook.Application")
    With olApp.CreateItem(0)
        .TO = "ich@ich.de"
        .CC = ""
        .Subject = "Confirmation on board_" & Sheets("COB1").Range("D8").Text & "_" & Sheets("COB1").Range("D3").Text
        .Attachments.Add strPfad & DatNam
        .Display
    End With
End Sub

Tipps für Profis

  • Verwende Fehlerbehandlung: Implementiere eine Fehlerbehandlung in Deinem Code, um Laufzeitfehler abzufangen und gezielt darauf zu reagieren. Zum Beispiel:

    On Error Resume Next
  • Debugging: Nutze den Debugger, um genau zu sehen, an welcher Stelle der Fehler auftritt.

  • Pfadüberprüfung: Füge eine Überprüfung ein, um sicherzustellen, dass die Datei existiert, bevor Du versuchst, sie anzuhängen.


FAQ: Häufige Fragen

1. Warum bekomme ich einen Laufzeitfehler -2147024894?
Dieser Fehler tritt auf, wenn der angegebene Dateipfad nicht gefunden wird. Überprüfe, ob die Datei existiert und der Pfad korrekt ist.

2. Was kann ich tun, wenn der Anhang nicht hinzugefügt wird?
Stelle sicher, dass Du den vollständigen Pfad und Dateinamen in der Attachments.Add-Methode angibst, z.B. strPfad & DatNam.

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