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

Laufzeitfehler 1004 bei Speichern als PDF

Forumthread: Laufzeitfehler 1004 bei Speichern als PDF

Laufzeitfehler 1004 bei Speichern als PDF
20.10.2023 06:09:05
Sebastian
Guten morgen Forum,

ich hab eine Exceltabelle zum erstellen von Lieferscheinen erstellt. Dabei soll der Lieferschein als PDF erstellt und gespeichert werden. An sich kein Problem und funktioniert bei mir und 2 weiteren kollegen. beim 3 Kollegen kommt beim ausführen des Makros immer beim Ausführen des Befehls der PDF Speicherns innerhalb des Makros zu einem Laufzeitfehler 1004 (Datei geöffent oder Zugriff fehlt). Wenn wir den druck dann manuell ausführen, funktioniert es. Also die Zugriffe sind vorhanden. Ich hab keine Idee an was es liegen kann.

Anbei der Code, jedoch kann ich mir nicht vorstellen, dass es daran leigen kann, da es ja bei anderen funktioniert. Ich vermute das es eine Exceleinstellung beim User selber ist. Bin aber für eine Prüfung dankbar
Danke

'FIWA CMR eintragen und Drucken


Worksheets("Finsterwalder").Activate

With Finsterwalder
.Range("G2").Value = Me.CMRNR
.Range("A23").Value = Me.OEM1
.Range("A24").Value = Me.OEM2
.Range("A25").Value = Me.OEM3
.Range("A26").Value = Me.OEM4
.Range("A27").Value = Me.OEM5
.Range("A28").Value = Me.OEM6
.Range("A29").Value = Me.OEM7
.Range("C23").Value = Me.OEM_Serial1
.Range("C24").Value = Me.OEM_Serial2
.Range("C25").Value = Me.OEM_Serial3
.Range("C26").Value = Me.OEM_Serial4
.Range("C27").Value = Me.OEM_Serial5
.Range("C28").Value = Me.OEM_Serial6
.Range("C29").Value = Me.OEM_Serial7
.Range("C60").Value = Me.TrailerNR
End With
'3x auf Papier drucken
ActiveWindow.SelectedSheets.PrintOut Copies:=3, Collate:=True, _
IgnorePrintAreas:=False

With Worksheets("Finsterwalder")
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="O:pgPGL_CMR_Getriebe und Triebsatz00 GetriebverladungBVS und SOUCMR " & "_" & Range("G2") & "_" & Format(Date, "dd.mm.yyyy") & ".pdf"
Range("A23:A29").Select
Selection.ClearContents
Range("C23:C29").Select
Selection.ClearContents
MsgBox "CMR mit der Nummer " & Range("G2") & " als PDF erstellt und gespeichert"
End With


Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 1004 bei Speichern als PDF
20.10.2023 06:40:08
Oberschlumpf
Hi Sebastian,

ich weiß zwar nicht, ob mein Beitrag deine Frage beantwortet, aber ich versuch zu helfen, deinen Code zu "verschlanken".

Ersetz mal deinen Code durch diesen:


'FIWA CMR eintragen und Drucken

With Sheets("Finsterwalder")
.Range("G2").Value = CMRNR
.Range("A23").Value = OEM1
.Range("A24").Value = OEM2
.Range("A25").Value = OEM3
.Range("A26").Value = OEM4
.Range("A27").Value = OEM5
.Range("A28").Value = OEM6
.Range("A29").Value = OEM7
.Range("C23").Value = OEM_Serial1
.Range("C24").Value = OEM_Serial2
.Range("C25").Value = OEM_Serial3
.Range("C26").Value = OEM_Serial4
.Range("C27").Value = OEM_Serial5
.Range("C28").Value = OEM_Serial6
.Range("C29").Value = OEM_Serial7
.Range("C60").Value = TrailerNR
'3x auf Papier drucken
ActiveWindow.SelectedSheets.PrintOut Copies:=3, Collate:=True, _
IgnorePrintAreas:=False

.ExportAsFixedFormat Type:=xlTypePDF, Filename:="O:pgPGL_CMR_Getriebe und Triebsatz00 GetriebverladungBVS und SOUCMR " & "_" & Range("G2") & "_" & Format(Date, "dd.mm.yyyy") & ".pdf"
.Range("A23:A29,C23:C29").ClearContents
MsgBox "CMR mit der Nummer " & Range("G2") & " als PDF erstellt und gespeichert"
End With

- wenn du mit With Sheets("Finsterwalder") arbeitest, brauchst du Sheets("Finsterwalder").Activate nicht
- wenn Me. ein gerade geöffnetes Userform ist und der Code durch Button-Klick ausgelöst wurde, dann brauchst du Me. nicht
- wenn du die Bereiche, in denen du die Inhalte löschen willst, zu einem .ClearContents-Befehl zusammenfasst, brauchst du das jeweils vorherige .Select nicht

oh, ich sehe gerade, du arbeitest mit With Finsterwalder UND MIT With Sheets("Finsterwalder") !
Worauf bezieht sich denn With Finsterwalder ???

Vielleicht ist meine Code-"Verschlankung" doch nicht so hilfreich, oder????

Ciao
Thorsten

...vllt wäre von dir per Upload eine Bsp-Datei mit Bsp-Daten, Userform + Code? besser als nur dieser Code-Schnipsel...
Anzeige
AW: Laufzeitfehler 1004 bei Speichern als PDF
20.10.2023 06:50:17
ralf_b
ich tippe auf ein Problem mit dem Pfad.
Sollte die Datei oder eine Instanz geöffnet sein sieht man das ja im Taskmanager oder Explorer.
Nach einem Rechnerneustart sollte da der erste Vorgang keinen Fehler zeigen.
Liegt die Datei auf einem Netzwerkspeicherort, könnte dort noch die Instanz der Datei gesperrt sein weil sie noch auf einem anderen Rechner offen ist oder nicht sauber entsperrt wurde.
Ratespiel ENDE

Im Code wird nicht geprüft ob die Bestandteile des Pfades Werte enthalte(G2) und ob der Ordner auch existiert.
Der Dateiname mit Punkten im Datum sollte zwar kein Problem darstellen ist aber unschön, da der Punkt üblicherweise den Dateinamen von der Erweiterung trennt.
Anzeige
AW: Laufzeitfehler 1004 bei Speichern als PDF
22.10.2023 11:19:07
Sebastian
Danke für eure Antwort und Hilfe.

So blöd wie es kling den Neustart werden wir nochmals machen, auch über ein anderes Zugangsgerät probieren.

Das komische ist, das es bei den anderen 3 Mitarbeitern ohne Probleme immer wieder funktioniert. Nur bei diesem einen Mitarbeiter nicht.
Der Mitarbeiter hat auch vollen Zugriff auf den Netzwerkordner, also lesen und Schreiben ist manuell Problem los möglich. Die Datei ist auch immer nur von einem Zugänglich und die Meldung, dass die Datei offen ist kommt bei dem Mitarbeiter nicht.
Anzeige
AW: Laufzeitfehler 1004 bei Speichern als PDF
23.10.2023 11:23:37
Heli
Hi,

bei mir tritt dieses Problem meist durch die Nutzung der Laufwerksbuchstaben im Pfad auf da diese bei uns willkürlich gemapped werden - am Besten den Server-Pfad verwenden dann tritt zumindest dieses Problem nicht auf.

Statt > "O:\Pfad\Datei"
So schreiben > "\\Server\Gruppe\Pfad\Datei"

Viele Grüße, Heli
Anzeige
AW: Laufzeitfehler 1004 bei Speichern als PDF
02.11.2023 14:02:31
Sebastian
Hallo zusammen,

sorry das ich mich so spät melden. Danke für die Hilfe. Das Problem lag nach mehreren Versuchen nicht im Excel oder VBA Code, sondern in der Laufwerksanbindung.
Dennoch danke für euren Input
;
Anzeige
Anzeige

Infobox / Tutorial

Laufzeitfehler 1004 beim Speichern als PDF in Excel beheben


Schritt-für-Schritt-Anleitung

  1. Überprüfe den Code: Stelle sicher, dass der VBA-Code korrekt ist. Ein Beispiel sieht so aus:

    With Sheets("Finsterwalder")
       .Range("G2").Value = CMRNR
       ' Weitere Zeilen hier...
       .ExportAsFixedFormat Type:=xlTypePDF, Filename:="\\Server\Gruppe\Pfad\Datei.pdf"
    End With
  2. Prüfe den Pfad: Verwende den vollständigen Server-Pfad anstelle von Laufwerksbuchstaben, um Probleme mit gemappten Laufwerken zu vermeiden. Beispiel:

    "\\Server\Gruppe\Pfad\Datei.pdf"
  3. Neustart des Computers: Manchmal kann ein einfacher Neustart des Rechners helfen, um temporäre Probleme zu beheben.

  4. Zugriffsrechte überprüfen: Stelle sicher, dass der Benutzer volle Lese- und Schreibrechte für den Zielordner hat.


Häufige Fehler und Lösungen

  • Laufzeitfehler 1004: Dieser Fehler tritt häufig auf, wenn die Datei bereits geöffnet ist oder der Zugriff auf den Speicherort verweigert wird. Überprüfe, ob die Datei im Taskmanager oder Explorer geöffnet ist.

  • Problem mit gemappten Laufwerken: Wenn du Laufwerksbuchstaben verwendest, kann es zu Problemen kommen. Verwende stattdessen den vollständigen Server-Pfad.

  • Inhalt im Pfad: Stelle sicher, dass alle Variablen, die im Pfad verwendet werden (z. B. G2), gültige Werte enthalten.


Alternative Methoden

  • Manuelles Speichern als PDF: Wenn das Makro nicht funktioniert, versuche, die Datei manuell als PDF zu speichern. Gehe zu Datei > Speichern unter und wähle PDF als Dateiformat.

  • Verwendung von Excel-Vorlagen: Wenn du häufig PDF-Dokumente erstellst, kann eine cmr excel vorlage hilfreich sein, um den Prozess zu automatisieren.


Praktische Beispiele

Hier ist ein einfaches Beispiel, wie du eine PDF-Datei mit einem VBA-Makro speichern kannst:

Sub SpeichernAlsPDF()
    Dim pdfPfad As String
    pdfPfad = "\\Server\Gruppe\Pfad\Lieferschein_" & Range("G2") & ".pdf"

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfPfad
    MsgBox "PDF erfolgreich gespeichert unter: " & pdfPfad
End Sub

Tipps für Profis

  • Fehlerprotokollierung: Füge Fehlerbehandlungsroutinen in deinen Code ein, um detaillierte Fehlermeldungen zu erhalten.

  • Komplexe Daten: Bei komplexen Daten kannst du pdf briefpapier in excel einfügen, um die Darstellung zu verbessern.

  • Debugging: Nutze die Debugging-Tools in VBA, um den Code Schritt für Schritt auszuführen und Fehler schnell zu identifizieren.


FAQ: Häufige Fragen

1. Warum tritt der Laufzeitfehler 1004 auf?
Der Laufzeitfehler 1004 tritt häufig auf, wenn die Datei bereits geöffnet ist oder der Benutzer nicht über die erforderlichen Berechtigungen verfügt.

2. Wie kann ich den Fehler umgehen?
Verwende den vollständigen Server-Pfad anstelle von gemappten Laufwerksbuchstaben und überprüfe die Zugriffsrechte auf den Speicherort.

3. Kann ich eine Excel-Vorlage für CMR-Dokumente erstellen?
Ja, eine cmr excel vorlage kann dir helfen, den Prozess der PDF-Erstellung zu automatisieren und ein einheitliches Layout zu gewährleisten.

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