Anzeige
Archiv - Navigation
1952to1956
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

Dateinamen umbenennen

Dateinamen umbenennen
08.11.2023 14:48:25
reiner
Hallo Leute,

ich will per VBA den Dateinamen: „Energiebilanz_****_**.csv“ umbenennen in : Energiebilanz_****_**-1.csv

DateiPfadPV1 = "C:\Users\XY\Downloads\"
DateiNamePV1 = "Energiebilanz_****_**.csv"

DateiNamePV1_1 = Left(DateiNamePV1, 21)
DateiNamePV1_1= "Energiebilanz_****_**"

Mit folgendem Lösungsansatz erhalte ich jedoch den Laufzeitfehler 52:
Name DateiPfadPV1 & DateiNamePV1 As DateiPfadPV1 & DateiNamePV1_1 & "-1.csv"

Was ist hier falsch?

reiner

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateinamen umbenennen
08.11.2023 16:00:15
UweD
Hallo

1)
möchtest du die **** als Joker benutzen?
Dann würde jeweils ein * reichen

oder soll genau ein Zeichen als Joker gelten? dann wären es ????_??

2)
Ich denke, du musst die Dateien einzeln umbenennen.

Das ginge dann so

Sub Dateien_umbenennen() '

Dim DateiPfadPV1 As String, DateiNamePV1 As String, DateiNamePV1_1 As String, Datei As String

'DateiPfadPV1 = "C:\Users\XY\Downloads\"
DateiPfadPV1 = "D:\excel\temp\" '**** mit \ 'Mein Test
DateiNamePV1 = "Energiebilanz_????_??.csv"

Datei = Dir(DateiPfadPV1 & DateiNamePV1)

Do While Len(Datei) > 0

DateiNamePV1_1 = Left(Datei, InStr(Datei, ".") - 1)

Name DateiPfadPV1 & Datei As DateiPfadPV1 & DateiNamePV1_1 & "-1.xlsx"


Datei = Dir() ' nächste Datei
Loop

End Sub


LG UweD
Anzeige
AW: Dateinamen umbenennen
08.11.2023 16:05:01
volti
Hallo Reiner,

der Fehler 52 besagt: Fehlerhafter Dateiname.

Du kannst m.E. hier keine Platzhalter "*" verwenden, sondern musst den kompletten Dateinamen angeben. Ggf. die Platzhalter über DIR ersetzen lassen.
Funktioniert aber nur, wenn es nur eine passende Datei zum Muster gibt.

Eine Idee dazu (ungetestet)

Sub Test1()

DateiPfadPV1 = "C:\Users\XY\Downloads\"
DateiNamePV1 = "Energiebilanz_****_**.csv"

sDatei = DateiPfadPV1 & Dir$(DateiPfadPV1 & DateiNamePV1)
On Error Resume Next
Name sDatei As Replace(sDatei, ".csv", "-1.csv")

End Sub


Gruß Karl-Heinz
Anzeige
Danke volti, danke UweD
08.11.2023 16:34:04
reiner
.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige