Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.04.2024 20:05:21
28.04.2024 18:33:31
28.04.2024 18:25:12
28.04.2024 14:18:05
Anzeige
Archiv - Navigation
1932to1936
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Gelegentlicher Laufzeitfehler

Gelegentlicher Laufzeitfehler
30.06.2023 11:15:18
Sven

Hallo,
ich habe eine Datei, mit der man Versanddaten erfassen kann, die dann per Makro in eine Tabelle übertragen werden, aus der sich diverse Formulare die entsprechenden Werte ziehen. Mit einem weiteren Makro kann man dann die benötigten Formulare drucken und mit einem weiteren als PDF erzeugen und direkt in eine Outlook-Mail setzen zzgl. einem Betreffe und TExtfeld. Hierbei bekomme ich des Öfteren einen Laufzeitfehler: 2147024894 (80070002)
Dazu finde ich zwar ein paar Google-Ergebnisse, aber da die dortigen Codes ganz anders sind als meine, komme ich nicht hinter den Fehler. Vielleicht kann man mir ja hier dazu weiterhelfen.
Komisch ist halt, dass es nicht immer so ist. Oft habe ich den Fehler, wenn ich eine weitere Excel geöffnet habe oder vorher bereits Excel genutzt habe. Manchmal ist der Fehler dann weg, wenn ich erst einen Windows Neustart mache. Bei manchen Einträgen bleibt der Fehler aber dauerhaft bestehen.
Mir wurde gesagt, ich müsse den Pfad mit angeben, an dem die PDFs erzeugt und gespeichert werden. Ich arbeite auf einem Firmenserver und die PDFs werden in einem Temp-Ordner hinterlegt (Pfad dazu habe ich nie gewählt, macht der einfach).

Debug markiert immer "myAttachments.Add DateiName1" in gelb.


Sub Gelangen_CMR_und_Senden()

Dim DateiName As String
    
  Sheets("CMR1").Select
    DateiName1 = "CMR " & Range("B17") & ".pdf"
    Range("A5:K90").ExportAsFixedFormat Type:=x1TypePDF, Filename:=DateiName1, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

  Sheets("Gelangen").Select
    DateiName2 = "ENTRY CERTIFICATE " & Range("K6") & ".pdf"
    Range("A5:H56").ExportAsFixedFormat Type:=xlTypePDF, Filename:=DateiName2, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
              
    Dim Outlook As Object
    Dim OutlookMailItem As Object
    Dim myAttachments As Object

    Set OutlookApp = CreateObject("Outlook.Application")
    Set OutlookMailItem = OutlookApp.CreateItem(0)
    Set myAttachments = OutlookMailItem.Attachments

  With OutlookMailItem
       .To = Range("K5")
       .CC = Range("M5")
       .Subject = "AVIS + ENTRY CERTIFICATE: " & Range("K6")
       .Body = Range("K8")
          myAttachments.Add DateiName1
          myAttachments.Add DateiName2
       .Display
  End With

  Set OutlookApp = Nothing
  Set OutlookMailItem = Nothing
  
  If ActiveSheet.Name = "Gelangen" Then
     Sheets("Eingabemaske").Select
     Range("C4").Select
  End If

End Sub


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

Betreff
Datum
Anwender
Anzeige
AW: Gelegentlicher Laufzeitfehler
30.06.2023 14:00:20
Yal
Hallo Sven,

es wird grundsätzlich empfohlen, den vollständigen Pfad einer Datei zu verwenden.
Vor "CMR" oder "ENTRY .." gibt es bestimmt einen "C:\..." oder "\\hostname\freigabe\..."
Sie gehören in Dateiname1 und 2 dazu.

Sonst sagst Du ungefähr "dritte Schublade links". Von welchem Schrank? In welchem Raum? In welchem Gebäude?

VG
Yal


AW: Gelegentlicher Laufzeitfehler
03.07.2023 12:54:52
Sven
Ok, und wo genau muss ich das einfügen bzw. in welcher Form?
Ich habe lange gesucht bis ich gefunden habe, wo die PDFs erzeugt und gespeichert werden. Wusste bis dato nicht, dass die überhaupt gespeichert werden, wenn ich das nicht manuell mache nach Erzeugung.
Das Problem ist, dass mehrere Personen damit arbeiten und jeder ein persönliches Laufwerk hat, wo temporäre Daten gespeichert werden.
Der Ordner heisst bei jedem gleich (Y:\PDF files\AutoSave), nur das hinter dem Y noch der Username drin steht. Ich weiß also nicht ob das dann bei anderen auch funktioniert, wenn ich den Pfad angebe. Oder muss bzw. kann ich irgendwie steuern wo diese PDFs gespeichert werden? Wenn ja, wie?


Anzeige
AW: Gelegentlicher Laufzeitfehler
03.07.2023 14:55:27
Yal
Hallo Sven,


 Sub Gelangen_CMR_und_Senden()
 
 Dim DateiName As String
     
   Sheets("CMR1").Select
     DateiName1 = "C:\MeinVerzeichnis1\MeinUntervezeichnis1\CMR " & Range("B17") & ".pdf"
     Range("A5:K90").ExportAsFixedFormat Type:=x1TypePDF, Filename:=DateiName1, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
 
   Sheets("Gelangen").Select
     DateiName2 = "C:\MeinVerzeichnis2\MeinUntervezeichnis2\ENTRY CERTIFICATE " & Range("K6") & ".pdf"
     Range("A5:H56").ExportAsFixedFormat Type:=xlTypePDF, Filename:=DateiName2, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
               
     Dim Outlook As Object
     Dim OutlookMailItem As Object
     Dim myAttachments As Object
 
     Set OutlookApp = CreateObject("Outlook.Application")
     Set OutlookMailItem = OutlookApp.CreateItem(0)
     Set myAttachments = OutlookMailItem.Attachments
 
   With OutlookMailItem
        .To = Range("K5")
        .CC = Range("M5")
        .Subject = "AVIS + ENTRY CERTIFICATE: " & Range("K6")
        .Body = Range("K8")
           myAttachments.Add DateiName1
           myAttachments.Add DateiName2
        .Display
   End With
 
   Set OutlookApp = Nothing
   Set OutlookMailItem = Nothing
   
   If ActiveSheet.Name = "Gelangen" Then
      Sheets("Eingabemaske").Select
      Range("C4").Select
   End If
 
 End Sub
 
VG
Yal


Anzeige
AW: Gelegentlicher Laufzeitfehler
03.07.2023 15:09:45
Sven
Prima. Danke dir. Das scheint jetzt zu funktionieren. Mal sehen wie das auf Dauer läuft

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige