2017-12-28 2 views
-3

Ich möchte alles vor einem Unterstrich und Präfix Unterstrich durch eine steigende Ganzzahl i in Excel VBA ersetzen, um alle Dateien in einem Ordner umzubenennen.Benennen Sie alle Dateien in einem Ordner mit Excel VBA

+0

Blick auf meine [gesichert Lösung] (https://stackoverflow.com/questions/47982997/the-old-file-names-are-in-column-a-and-new-file-names-are-in-colum n-b-how-to-re/47983186 # 47983186) – JohnyL

+0

Willkommen bei Stack Overflow! Das war furchtbar nett von diesen Leuten, um deine Forderungen so schnell zu beantworten ... (achte darauf, sie zu akzeptieren und eine Antwort zu akzeptieren, wenn es geholfen hat) (https://stackoverflow.com/help/someone-answers)) Normalerweise das ist kein "Free Coding Service", sondern ein Ort, an dem Sie eine spezifische Frage zu einem Coding-Thema stellen können, die Beispiele für Ihre bisherigen Bemühungen zeigt. Schaut euch die [Tour] sowie [ask] und [mcve] an. – ashleedawg

Antwort

0
Sub RenameFiles() 
Const FolderLoc = "P:\yourfolder\" 
Dim x As Long 
x = 1 
Dim s As String 
s = Dir(FolderLoc & "*.*") 
Do While s <> "" 
    Name FolderLoc & s As FolderLoc & x & Right(s, Len(s) - (InStr(s, "_") - 1)) 
    s = Dir() 
    x = x + 1 
Loop 
End Sub 
+0

Code ersetzt nur den ersten Unterstrich. Möchte alle Unterstriche ersetzen und den letzten voranstellen. Für zB: 11.52.03_11.52.07_Sheet5 sollte x.Sheet5, sein 52.10_Temp sollte x.Temp sein – Anurag

0

‚MACRO Umbenennen von Dateien und Platz, um Sub Rename2()

Dim objFSO As Object 
Dim objFolder As Object 
Dim objFile As Object, abc As Object 
Dim i As String 
Dim s As String, dest As String 

dest = "H:\Automation\outputs\" 

Set objFSO = CreateObject("Scripting.FileSystemObject") 
FolderLoc = dest 


Set objFolder = objFSO.GetFolder(dest) 
'MsgBox objFolder 

i = 1 
s = Dir(FolderLoc & "*.*") 

On Error Resume Next

'loops through each file in the directory and prints their names and path 
For Each objFile In objFolder.Files 

    Do While (InStr(s, "_")) > 0 
     'MsgBox s 
     'Name OldFile as NewFile 

     Name FolderLoc & s As FolderLoc & i & "." & Right(s, Len(s) - (InStr(s, "_") + 2)) 
     s = i & "." & Right(s, Len(s) - (InStr(s, "_") + 2)) 
     'MsgBox s 
     'abc = Name FolderLoc & s As FolderLoc & "(" & i & ")" & Right(s, Len(s) - (InStr(s, "@[email protected]") + 2)) 
     'i = i + 1 
    Loop 
    i = i + 1 
    s = Dir() 

Next objFile 

End Sub

Verwandte Themen