반응형
블로그에 명령 프롬프트의 copy를 활용하여 텍스트 및 mp3 합치는 방법을 소개했었습니다.
이번에는 이걸 엑셀과 VBA를 통해서 조금 더 편리하게 만들려고 준비하였습니다.
사실 뭐 큰 기술이 필요한 건 아니었고 단지 VBA에서 명령 프롬프트를 사용하여 직접 타이핑하지 않고 컴퓨터가 진행해주는 정도의 매크로에 가깝습니다.
사용방법은 아주 간단합니다.
1. 파일명 불러오기 버튼 선택 (폴더 선택 창 노출됩니다.)
2. TXT 파일이 존재하는 폴더를 선택한 후 확인을 누릅니다.
선택한 폴더 주소와 현재 파일명이 노출됩니다.
3. 합치는 파일 밑에 합치고 싶은 파일 이름을 작성합니다. (확장자 포함)
- 파일이 없어도 오류처리는 없습니다...ㅠㅠ (여기서 어떻게 체크할지 고민을 하고 있습니다.)
4. 생성되는 파일 이름을 작성합니다. (확장자 포함)
5. 파일 합치기 버튼을 누르시면 끝납니다.
Sub FileListLoad()
Range("c7", Range("c7").End(xlDown)).ClearContents
With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
With .FileDialog(msoFileDialogFolderPicker)
.Show
If .SelectedItems.Count = 0 Then
Exit Sub
Else
strpath = .SelectedItems(1) & "\"
End If
End With
End With
Range("d4") = strpath
Filename = Dir(strpath & "*.txt")
Do
i = i + 1
Range("c7").Offset(i - 1, 0) = Filename
If Filename = "" Then
MsgBox strpath & "폴더에는 TXT파일이 없습니다."
GoTo e
End If
Filename = Dir()
Loop Until Filename = ""
MsgBox "파일" & i & "개를 불러왔습니다."
e:
End Sub
Sub FileSum()
Dim FileCnt(), FileSP
Dim MakeFileName
MakeFileName = Range("i7")
Set FileSP = Range("f7")
i = 0
Do Until FileSP.Offset(i, 0) = ""
If i = 0 Then
SumFileName = FileSP.Offset(i, 0)
Else
SumFileName = SumFileName & " + " & FileSP.Offset(i, 0)
End If
i = i + 1
Loop
SumFileName = SumFileName & " " & MakeFileName
Shell "cmd.exe /c cd /d" & Range("d4") & "&& copy /b " & SumFileName
Shell "explorer.exe " & Range("d4"), vbNormalFocus
End Sub
반응형
'엑셀 > VBA' 카테고리의 다른 글
VBA,엑셀 로 SHA512 HASH 하기 (0) | 2021.04.20 |
---|---|
vba 로 jwt 만들기 , 만드는 방법 - hs256 (0) | 2021.04.19 |
크롤링 중 Response Text가 "대상 멀티바이트 코드페이지에 유니코드 문자의 매핑이 없습니다." 라고 나올때 해결방법 - VBA (0) | 2021.04.19 |
VBA 배우기 기초 - 상대 참조 및 녹화 코드분석 (0) | 2021.04.06 |
url 주소로 파일 다운로드 VBA (urlmon사용) (0) | 2021.03.18 |
댓글