1. 엑셀로 다른 경로의 파일 이름 변경이 가능한가.
결론부터 말씀드리면 가능합니다.
보통 파일경로 & "\" & 바꿀이름.확장자를 지정하여 특정 이름으로 변경하여 파일을 Save하는 VBA 메소드를 이하와 같이 사용합니다.
Sub Change_File_Name_In_Other_Path()
Dim currentFilePath As String
Dim newFileName As String
Dim newFilePath As String
currentFilePath = ThisWorkbook.Path newFileName = "New_File_Name.xlsx"
newFilePath = currentFilePath & "\" & newFileName Name currentFilePath & "\" & ThisWorkbook.Name As newFilePath
ThisWorkbook.SaveAs newFilePath
MsgBox "The file name has been successfully changed!", vbInformation
End Sub
하지만, 문제는 하나의 파일만 가능하며 실제업무에서는 특정 폴더내의 여러 파일들의 파일명을 동시에 편집시키는 경우가 많습니다.
2. 파일 이름 변경 실제 적용 사례
실제로 하기와 같이 특정 폴더내에 여러가지 종류의 파일이 있다고 가정합니다.
일반적으로 파일을 변경할 때는 파일을 선택 → 단축키 F2을 누르면 파일이름을 변경하는 상태로 변경되어 파일명을 직접 고칩니다.
↓ 하기와 같이 특정 경로에 여러종류의 파일, 폴더가 있다고 할때 파일명을 바꾸려면 하나씩 수정해야합니다.
하지만, 이 과정을 엑셀 VBA로 자동화하여 해당 폴더만 선택하면 자동으로 파일명이 모두 나열되며, 나열된 정보로 간단히 수정할 수 있도록 TOOL을 만들어 보았습니다.
3. VBA로 만든 자동화 TOOL소개
먼저 하기와 같이 VBA의 Filediolog를 활용하여 특정 폴더를 선택할 수 있는 창을 나타내어, 폴더를 선택하면 해당 폴더의 Full Path가 추출됩니다.
그러면 하기와 같이 B1셀에 해당 경로가 들어감과 동시에 해당 경로의 모든 파일 및 확장자가 B,C열에 자동으로 추출되도록 만듭니다.
그리고 D,E열에 바꾸고 싶은 이름, 확장자를 엑셀에 기입한 후 이름변경시작 버튼을 눌러주면 실제로 해당 경로의 파일명, 확장자가 바뀌도록 만들었습니다. 파일이름을 변경하는 가장 중요한 오브젝트 요소로서는 FileSystemObject라는 카테고리를 활용했습니다.
이하는 상기 화면의 상세 버튼들의 설명입니다.
해당 파일이 필요하신 분은 댓글을 달아주세요.