Thema Datum  Von Nutzer Rating
Antwort
Rot gesendete Mail abspeichern Excel Laufzeitfehler 424
01.12.2022 11:39:36 Th3Bug
NotSolved
01.12.2022 14:26:05 Flotter Feger
NotSolved
01.12.2022 14:34:20 Gast20267
NotSolved
09.12.2022 15:09:33 Gast76558
NotSolved

Ansicht des Beitrags:
Von:
Th3Bug
Datum:
01.12.2022 11:39:36
Views:
311
Rating: Antwort:
  Ja
Thema:
gesendete Mail abspeichern Excel Laufzeitfehler 424

Hallo Zusammen

Ich "versuche" ein Makro zu erstellen bei dem ich Informationen aus einem Programm in eine Exceldatei (*.xltm) bekomme. 
Im Anschluss möchte ich eine PDF erstellen und dies an eine Adresse senden.
Die gesendte Mail soll im Anschluss unter einem Pfad abgespeichert werden.

Das erstellen der PDF und der Mail und Versand funktionieren Problemlos

Leider bekomme ich beim Abspeichern der Mail eine Fehlermeldung

Laufzeitfehler 424

Objekt erforderlich

Hier einmal der Quelltext 
Ich habe wirklich keine Ahnung an was es noch liegen kann

Sub Schaltfläche2_Klicken()
Dim strMailAdresse As String
 Dim LKNR As String
 
 'Empfaengermailadresse holt Sie sich von Zelle B33 auf Blatt QSYS
 strMailAdresse = Worksheets("QSYS").Range("B33").Value
 
 'LK-Nr holt Sie sich von Zelle B4 auf Blatt QSYS
 LKNR = Worksheets("QSYS").Range("B4").Value
     
 'PDF erstellen!!! / Wird nur Temporaer abgelegt und am Ende wieder geloescht
    Worksheets("DE").ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\Users\" & Environ("username") & "\AppData\Local\Temp\" & Format(Date, "YYYY-MM-DD") & " " & Format(Time, "hh-mm") & "_Wareneingang.pdf" _
        , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False
        
  ' Speicherpfad von PDF unter Temp Lokal
  strPDF = "C:\Users\" & Environ("username") & "\AppData\Local\Temp\" & Format(Date, "YYYY-MM-DD") & " " & Format(Time, "hh-mm") & "_Wareneingang_ZA.pdf"
    
  'Mail erstellen
  'Verwende Outlook
    Set olApp = CreateObject("Outlook.Application")
    
    'Erstellen der Mail
    With olApp.CreateItem(0)
            
            ' Absendermail
            .SentOnBehalfOfName = "test@test.de"
            
            'Empfaengermailadresse holt Sie sich von Zelle B33 auf Blatt QSYS
            .To = strMailAdresse
            
            'Betreff LK-Nr & Bestätigung Wareneingang
            .Subject = LKNR & " Bestätigung Wareneingang"
            
            ' haengt PDF als Anhang an
            .Attachments.Add strPDF
            
            ' Mail Text in HTML Format,  Zeilenfortsetzung hier verwendet fuer bessere Uebersicht
            .HTMLBody = "<HTML> <font face=+Textkörper>For english see below <br>" _
            & "<br> " _
            & "************************************* <br>Sehr geehrter Kunde <br>" _
            & "<br> " _
            & "Hiermit best&auml;tigen wir ihnen die Warenr&uuml;cklieferung zur  _
            & "</font face> </HTML>"
           
          
           .Display
           'Falls gesendet werden soll: ".Display" entfernen und durch ".Send" ersetzen
            '.Display
            '.Send
     
    End With
    
    'PDF Datei loeschen
    Kill strPDF
    
    'Schliesst Outlook und gibt es wieder frei
    Set olApp = Nothing
    
    'Meldbox um Outlook Zeit zu geben, dass Mail im Ordner "gesendete Objekte" abliegen kann
    MsgBox "Mail wurde versendet", vbOKOnly, "Mail versendet"
   

    
    'ab hier soll gesendete Mail gespeichert werden
    'speichert die letzte gesendete Mail unter dem Speicherpfad ab


Dim Speicherpfad As String
Dim o2App As Object, objMail As Object

'LK-Nr holt Sie sich von Zelle B4 auf Blatt QSYS
 LKNR = Worksheets("QSYS").Range("B4").Value

'Speicherpfad; beim aenderen auf den letzen \ achten ;)
Speicherpfad = "C:\Ablageort\"

'verwende Outlook

  Set o2App = GetObject(, "OutLook.Application")

'verwende die letzte gesendete Mail
Set objMail = o2App.Session.GetDefaultFolder(5).Items.GetLast

'Abspeichern unter dem Speicherpfad; Aufbau Dateiname: Datum-LKNr,
objMail.SaveAs Speicherpfad & Format(Date, "yyyy") & "_" & Format(Date, "mm") & "_" & Format(Date, "dd") & "_" & LKNR & ".msg", 3
    
    'Meldbox zum testen
    'MsgBox "Mail wurde gespeichert", vbOKOnly, "Mail gespeichert"
    
    'Schliesst Outlook und gibt es wieder frei
    'Set olApp = Nothing
    
    
    'Schliesst diese Excel ohne zu speichern
    ThisWorkbook.Close savechanges:=False
    Application.Quit
End Sub

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot gesendete Mail abspeichern Excel Laufzeitfehler 424
01.12.2022 11:39:36 Th3Bug
NotSolved
01.12.2022 14:26:05 Flotter Feger
NotSolved
01.12.2022 14:34:20 Gast20267
NotSolved
09.12.2022 15:09:33 Gast76558
NotSolved