VBA - Zwischenteil in Dateinamen ändern?
Hi zusammen,
ich muss folgende Dateinamen per Skriptfür rund 1000 Dateien wie folgt ändern:
Von:
3220022-8006-Amager_25_5_citrus-D-00
In:
3220022_8006_P_1
Den letzten Teil also D-00 in P_1 habe ich bereits hinbekommen. Wie ich jetzt aber alles nach dem ersten Zahlenpaar lösche weiß ich nicht.
Mein bisheriges Skript:
Sub Ordner_Auslesen()
'Bibliothek aktivieren
'Variablen dimensionieren
Dim fso As New FileSystemObject
Dim Pfad As String
Dim Ordner As Files
Dim Datei As File
'Pfad auslesen
Pfad = Tabelle1.Range("A1").Value
'Existiert der Ordner?
If fso.FolderExists(Pfad) Then
'Alle Dateien des Ordners einlesen
Set Ordner = fso.GetFolder(Pfad).Files
'Schleife über alle Dateien des Ordners
For Each Datei In Ordner
'Datei ausgeben
'Debug.Print Datei.Name
'Datei umbenennen
If InStr(Datei.Name, "D-00") <> 0 Then
Datei.Name = Replace(Datei.Name, "D-00", "P_1")
End If
Next Datei
Else
MsgBox "Dieser Ordner existiert nicht."
End If
End Sub
Kann mir jemand helfen?
2 Antworten
Mal vom "Prinzip" her. Wenn die Ziffernfolge immer 12 Zeichen lang ist, wie hier, wäre es dann nicht einfacher, den Rest abzuschneiden, das _P_1 anzuhängen und den Bindestrich durch einen Unterstrich zu ersetzen?!
Oder Du liest die beiden Ziffernblöcke getrennt aus und setzt sie dann mit Unterstrich und dem Anhängsel neu zusammen!?
Das habe ich auch schon gedacht, ich bin in VBA aber noch relativ neu und habs nicht hinbekommen.
Um das zu beantworten, brauchen wir entweder viel mehr Beispiele oder eine Regel.
Hilft es, wenn du den Dateinamen nach dem 2. Minuszeichen abschneiden kannst? Das ginge so:
Datei_abgeschnitten = Left(Datei.Name, InStr(InStr(Datei.Name, "-") + 1, Datei.Name, "-") - 1)