Laufzeitfehler 52
31.05.2022 10:58:01
Lena
ihr seid meine letzte Rettung. Meine Ausgangssituation ist folgende:
Auf einem Netzlaufwerk werden wöchentlich Zeiterfassungen in Excel abgelegt. Diese sollen zu einer Master-Datei zusammengefasst werden. Jede Zeiterfassungs-Datei soll in einem neuen Tabellenblatt dargestellt werden, sodass anschließend eine Gesamtauswertung stattfinden kann.
Das Problem: Die Auswertung ist nicht für mich selbst, ich habe keinen Zugriff auf das besagte Netzlaufwerk und konnte den Code bei mir entsprechend nicht testen. Nun habe ich trotzdem die "Master-Datei" mit dem entsprechenden Code an meinem PC erstellt und dem Anwender die Datei per Mail zugeschickt. Wenn er diese auf seinem PC öffnet und das Makro ausführt (Zugriff auf das Netzlaufwerk besteht selbstverständlich), bekommt er die Fehlermeldung "Laufzeitfehler '52': Dateiname oder -nummer falsch" angezeigt.
Seit Tagen durchforste ich bereits dieses und diverse andere Foren, habe die Codezeile, an der das Makro abbricht (s. Code unten), immer wieder angepasst, leider ohne Erfolg. Ich bin wirklich ratlos! Liegt es daran, dass ich die Master-Datei von einem PC ohne Netzwerk-Zugriff aus erstellt habe? Muss der Anwender eine neue Datei erstellen und den Code in VBA hineinkopieren?
Vielen, vielen Dank für eure Hilfe, ich hoffe ihr habt einen Rat.
Beste Grüße
Lena
Dim strDateiname As String
Dim strVerzeichnis As String
strVerzeichnis = "\\srv-dc01\Personal\Arbeitszeiterfassung\Export_Schichten\"
Application.EnableEvents = False
Application.ScreenUpdating = False
If strVerzeichnis "" Then
strDateiname = Dir(CStr(strVerzeichnis & "*.xlsx")) ' ""
Workbooks.Open Filename:=strVerzeichnis & strDateiname
ActiveWorkbook.Worksheets(4).Copy after:=ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count)
ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count).Name = Application.Substitute(strDateiname, ".xlsx", "")
Workbooks(strDateiname).Close False
strDateiname = Dir
Loop
Application.EnableEvents = True
Application.ScreenUpdating = True
End If
ThisWorkbook.Worksheets("Tabelle1").Select
MsgBox "Time Reports wurden erfolgreich geladen."
End Sub