2017-12-28 14 views
-3

밑줄 앞에 아무 것도 대체하고 밑줄을 사용하면 파일의 이름을 바꾸려면 Excel에서 증가하는 정수 i로 밑줄을 붙이고 싶습니다.excel vba를 사용하여 폴더의 모든 파일 이름 바꾸기

+0

봐 이력서를 파일과 장소를 백업 이름을 바꾸려면 솔루션] (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

스택 오버플로에 오신 것을 환영합니다! 이 사람들이 너무 빨리 당신의 요구에 너무 빨리 대답 할 수있는 것이 었습니다. (도움이된다면 투표를하고 응답을 받아 들여야합니다.) (https://stackoverflow.com/help/someone-answers) 일반적으로 "무료 코딩 서비스"가 아니라 코딩 문제에 대한 구체적인 질문을 제공하고 지금까지 어떤 노력을했는지 보여주는 예를 보여줍니다. [둘러보기]와 [ask] 및 [mcve]를 확인하십시오. – ashleedawg

답변

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

코드는 첫 번째 밑줄 만 대체합니다. 밑줄을 모두 바꾸고 마지막에 접두어를 붙이십시오. 예 : 11.52.03_11.52.07_Sheet5는 x.Sheet5이어야합니다. 52.10_Temp는 x이어야합니다. – Anurag

0

'MACRO 순서대로 하위 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 & "*.*") 

내 [에서 다음

'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 

최종 하위