엑셀 VBA 파일명 일괄 변경하기
반응형
특정 형식으로 구성된 여러 파일들의 파일명을 일괄적으로 변경하실 때 사용하시면 편합니다.
아래 작성되는 예제는 기존 파일명이 이름, 신규 파일명이 이름+문구 입니다.
얼마든지 응용 가능하니 아래 코드 보시면서 변경하시면 됩니다.
어려우시면 댓글로 남겨 주시면 알려드리겠습니다.
조건
1. 엑셀 개발 도구 탭 오픈
엑셀은 default로 개발 도구 탭이 오픈되지 있지 않습니다.
아래와 같이 조치하셔서 개발 도구 탭을 오픈하셔야 합니다.
엑셀 Sheet1 구성
엑셀 개발 도구 탭 오픈 방법
- 파일 탭 > 옵션 > 리본 사용자 지정 클릭
- 오른쪽 리본 메뉴 사용자 지정(B) 항목에서 개발 도구란의 체크 박스 클릭 > 확인 버튼 클릭
- 확인
엑셀 Visual Basic 개발 환경 오픈
- 엑셀 개발 도구 탭 > Visual Basic 클릭
- 모듈 추가
모듈이 안보인다면 위의 삽입 클릭 후 모듈을 선택해도 됩니다.
엑셀 Visual Bacsic 소스 코드 작성
추가된 모듈에서 작성합니다.
전체 소스코드는 아래와 같습니다.
'파일이 있는지 확인하는 함수
Function FileChk(sFileName As String)
Dim sChkFile As String
sChkFile = Dir(sFileName)
If (Len(sChkFile) > 0) Then
FileChk = True
Else
FileChk = False
End If
End Function
Sub 파일이름변경하기()
Dim F_dir As FileDialog
Dim F_Name As String
Dim W_Row As Integer
Dim File_N As String
Dim Response As String
Response = MsgBox("파일명을 변경하시겠습니까?", vbYesNo)
If Response = vbYes Then
Set F_dir = Application.FileDialog(msoFileDialogFolderPicker)
F_dir.AllowMultiSelect = False
F_dir.Title = "파일이 있는 위치를 선택하십시오."
F_dir.Show
F_Name = F_dir.SelectedItems(1)
W_Row = Sheet1.Range("A60000").End(xlUp).Row
For i = 1 To W_Row
File_N = F_Name & "\" & "기존파일명.pdf" '파일이있는경로\기존파일명.pdf
If (FileChk(File_N)) Then
File_S = F_Name & "\" & "신규파일명.pdf"
Name File_N As File_S '실제 파일명이 변경되는 문구
End If
Next i
MsgBox "끝"
End If
End Sub
실행을 위한 버튼 만들기
- 개발 도구 탭 클릭 > 삽입 클릭 -> 양식 컨트롤에서 단추(양식 컨트롤) 클릭
- 버튼를 만들어 놓을 장소에 마우스 드래그로 원하는 크기의 버튼 생성
- 생성된 버튼의 매크로 지정하여 확인 버튼 클릭
- 생성된 버튼 확인
- 단추명은 마우스 우클릭하여 수정 가능합니다.
생성된 버튼을 클릭하면 매크로 실행됩니다.
충분히 응용하여 사용 가능하니 필요하신 기능을 댓글로 남겨 주시면 조언해 드리도록 하겠습니다.
반응형
'IT > Office' 카테고리의 다른 글
[Excel] 엑셀 필터 설정 및 필터 해제하기 (0) | 2022.10.14 |
---|---|
[Excel] 엑셀 - 셀 삽입 오류, 데이터의 손실을 방지하기 위해 데이터가 들어 있는 셀을 워크 시트 밖으로 이동할 수 없습니다. 오류 해결 방법 (0) | 2022.10.11 |
엑셀 VBA 메일 보내기 자동화 매크로 만들기 (36) | 2022.07.01 |
엑셀 SUMIF (0) | 2022.01.17 |
오피스2019 설치 파일 다운로드 img - 링크 (프로그램 X) (6) | 2021.09.07 |
댓글