AW: Dateien auf Laufwerk nach xls umbennen
23.01.2019 14:35:48
UweD
hab das mit den Unterverzeichnissen wohl falsch verstanden
hier die Änderung
Modul1
Option Explicit
Private Sub Umbenennen()
On Error GoTo Fehler
Dim TB1, i%, Von As Long, Bis As Long, Pfad As String, UPfad As String
Dim Datei As String, Neu As String, Ext As String
Dim Sp As Integer, ZE As Integer, LR As Long, Z As Long, K As Integer
'*** Stammdaten Anfang
Set TB1 = ActiveSheet
Pfad = "x:\Temp\Test\"
Sp = 1 'Spalte A
ZE = 1 'ab Zeile
K = 4 ' Spalte für Kommentar
'*** Stammdaten Ende
' \ am Ende prüfen
Pfad = IIf(Right(Pfad, 1) = "\", Pfad, Pfad & "\")
'Pfad prüfen
If Dir(Pfad, vbDirectory) = "" Then
MsgBox Pfad & ": existiert nicht"
Exit Sub
End If
With TB1
LR = .Cells(.Rows.Count, Sp).End(xlUp).Row 'letzte Zeile der Spalte
Von = InputBox("Ab Zeile", "Dateien umbenennen", ZE)
Bis = InputBox("Bis Zeile", "Dateien umbenennen", LR)
If Von > LR Or Bis > LR Or Von > Bis Then
MsgBox "Angaben prüfen"
Exit Sub
End If
'Reset Kommentar
.Columns(K).ClearContents
For i = Von To Bis
With .Cells(i, Sp)
If .Value <> "" And .Offset(, 2) <> "" Then
UPfad = .Value & "\"
If Dir(Pfad & UPfad, vbDirectory) = "" Then
MsgBox Pfad & UPfad & " gibt es nicht"
Exit Sub
End If
Datei = Dir(Pfad & UPfad & "*.*") 'Datei im UnterVerz. finden
If Datei <> "" Then
Ext = Mid(Datei, InStrRev(Datei, ".")) 'Endung ermitteln
Neu = .Offset(, 2) & Ext 'Neuer Name plus Endung
'umbenennen
Name Pfad & UPfad & Datei As Pfad & UPfad & Neu
'Kommentar
.Cells(i, K) = "umbenannt"
Z = Z + 1
End If
End If
End With
Next
End With
MsgBox Z & " Dateien umbenannt", vbExclamation
'*** Fehlerbehandlung
Err.Clear
Fehler:
Application.EnableEvents = True
If Err.Number <> 0 Then MsgBox "Fehler: " & _
Err.Number & vbLf & Err.Description: Err.Clear
End Sub
LG UweD