Einzelne Dateien in Dateiliste umbenennen durch neuen Wert (Namen) aus einer Zelle
Guten Tag,
ich möchte gerne in einer Mappe.xls, die folgendes beinhaltet (Anfang ab Zeile 5):
Z5S2=Name.pdf (der vorhandene Dateiname ist als Wert bekannt) Z5S6=X:\..\..\..\ (nur der Pfad zu Z5S2 ist als Wert bekannt) Z5S9=Namegeaendert.pdf (neuer Dateiname wird bestimmt)
-den vorhandenen Dateinamen auf der Festplatte durch den neuen Dateinamen der manuell in der Excell Liste in Zelle Z5S9 vergeben wird, ändern.
Das Script sollte ohne Fehler bis zur letzen Zeile abarbeiten auch wenn kein neuer Name manuell eingetragen wird.
Vielen Dank für die Tipps
ich möchte gerne in einer Mappe.xls, die folgendes beinhaltet (Anfang ab Zeile 5):
Z5S2=Name.pdf (der vorhandene Dateiname ist als Wert bekannt) Z5S6=X:\..\..\..\ (nur der Pfad zu Z5S2 ist als Wert bekannt) Z5S9=Namegeaendert.pdf (neuer Dateiname wird bestimmt)
-den vorhandenen Dateinamen auf der Festplatte durch den neuen Dateinamen der manuell in der Excell Liste in Zelle Z5S9 vergeben wird, ändern.
Das Script sollte ohne Fehler bis zur letzen Zeile abarbeiten auch wenn kein neuer Name manuell eingetragen wird.
Vielen Dank für die Tipps
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 303762
Url: https://administrator.de/forum/einzelne-dateien-in-dateiliste-umbenennen-durch-neuen-wert-namen-aus-einer-zelle-303762.html
Ausgedruckt am: 22.05.2025 um 11:05 Uhr
2 Kommentare
Neuester Kommentar
Hallo two-ak-two, Willkommen auf Administrator.de!
Das gewünschte erreichst du z.B. mit folgendem kommentierten Code.
Grüße Uwe
Das gewünschte erreichst du z.B. mit folgendem kommentierten Code.
Sub RenameFiles()
'Variablen
Dim cell As Range, strCurrentFilePath As String, strNewFilePath As String, fso As Object
'Objekte
Set fso = CreateObject("Scripting.FileSystemObject")
' In aktuellem Sheet
With ActiveSheet
'Ermittle belegte Zellen in Spalte B ab B5 und iteriere über sie
For Each cell In .Range("B5:B" & .Cells(Rows.Count, "B").End(xlUp).Row)
' Ist der Dateiname nicht leer dann mach weiter
If cell.Value <> "" Then
'setze aktuellen Pfad mit Dateinamen zusammen Spalte 6 und 2
strCurrentFilePath = fso.BuildPath(cell.Offset(0, 4).Value, cell.Value)
'setze neuen Pfad mit Dateinamen zusammen Spalte 6 und 9
strNewFilePath = fso.BuildPath(cell.Offset(0, 4).Value, cell.Offset(0, 7).Value)
' Wenn Datei existiert benenne sie um
If fso.FileExists(strCurrentFilePath) Then
On Error Resume Next
'Datei umbenennen
fso.MoveFile strCurrentFilePath, strNewFilePath
'Im Fehlerfall Meldung ausgeben
If Err.Number <> 0 Then
MsgBox "FEHLER:" & vbNewLine & "Quelle: " & strCurrentFilePath & vbNewLine & "Ziel: " & strNewFilePath & vbNewLine & Err.Description, vbExclamation, "Fehler beim umbenennen"
End If
End If
End If
Next
End With
Set fso = Nothing
End Sub