엑셀 VBA(매크로) - 여러 파일 이름 (경로) 자동으로 가져오기
본문 바로가기
엑셀 컴퓨터 인터넷/엑셀 VBA

엑셀 VBA(매크로) - 여러 파일 이름 (경로) 자동으로 가져오기

by 만초손겸수익 2020. 12. 5.

업무를 하다보면 여러 파일 이름들을 일일이 타이핑 하거나, 복사/붙여넣기 해야 할 때가 있습니다.

 

이때 VBA를 사용하면 간단하게 원하는 파일의 모든 이름 또는 경로를 가져올 수 있습니다.

 

 

 

엑셀파일을 열고 상단의 메뉴 중 '개발도구' >> Visual Basic' 으로 들어갑니다.

 

 

 

'Microsoft Visual Basic for Applications' 창에서 상단의 '삽입' 메뉴를 눌러 '모듈'을 추가합니다.

 

모듈 창을 열어서 코드를 입력합니다.

 

전체 코드는 아래와 같습니다. ↓


Sub sbOpen_Filename()
Dim lngCount As Long, lngI As Long
Dim varArray As Variant, varArray2() As Variant
Dim strPath As String
    On Error GoTo er
    varArray = Application.GetOpenFilename(Title:="파일들을 선택하세요.", MultiSelect:=True)
    If TypeName(varArray) = "Boolean" Then Exit Sub
    lngCount = UBound(varArray)
    ReDim varArray2(1 To lngCount, 1 To 1)
    
    '경로파악
    strPath = CurDir(varArray(1)) & "\"
    
    '파일명 파악
    For lngI = 1 To lngCount
      varArray2(lngI, 1) = Dir(varArray(lngI))
    Next lngI
    
    '경로 및 파일명 출력
    Cells(3, 1) = "경로 ▶ " & strPath
    With Range("A6:B65536")
      .ClearContents
      .Interior.ColorIndex = xlNone
    End With
    Range(Cells(6, 1), Cells(lngCount + 5, 1)) = varArray2
    MsgBox "파일명을 성공적으로 불러들였습니다.", vbInformation
    Exit Sub
er:
    MsgBox "에러가 발생하여 파일을 불러들이지 못했습니다.", vbInformation
End Sub


실행을 하게되면

 

 

 

파일선택창이 뜨게 됩니다. 여기에서 파일을 선택 후 '열기' 버튼을 클릭합니다.

 

 

 

성공했다는 메시지와 함께 파일명과 경로가  불러와서 입력이 되어 있습니다.

 

혹시 파일이 필요하시면, 아래 파일을 다운받아 사용하시기 바랍니다.

 

 

파일이름 출력.xlsm
0.58MB

 

 

 

 

 

 

728x90
반응형

댓글