본문 바로가기

엑셀

[엑셀VBA] 파일, 폴더 선택(FileDialog)

반응형

 엑셀 매크로를 만들때, 정해진 파일, 정해진 폴더만 사용한다면, 코드안에 포함해서 작성하시면 됩니다. 그게 아니라, 내가 원하는 폴더와 파일에 작업을 원한다면, 해당 파일이나 폴더을 선택해주어야 합니다. 이 때, 사용할 수 있는 명령어가 FileDialog입니다. FildeDialog는 파일이나 폴더를 선택할 수 있는 대화상자를 표시합니다. FileDialog는 4가지 옵션이 있는데, 그 중 2가지 옵션을 소개하겠습니다.

1. 파일 선택

Sub selectFile()
    With Application.FileDialog(msoFileDialogFilePicker)
        .Show
        Debug.Print .SelectedItems(1)
    End With
End Sub

 

 파일을 선택하기 위한 FileDialog의 옵션은 msoFileDialogFilePicker입니다. 해당 옵션을 선택하면, 선택된 폴더 내에 모든 파일이 조회됩니다. 세부 설정을 통해, 확장자를 제한할 수 있습니다. 원하는 파일은 선택하고, 확인 버튼을 클릭합니다.

 선택된 파일은 파일경로와 확장자까지 값을 가집니다.

2. 폴더 선택

Sub selectFolder()
    With Application.FileDialog(msoFileDialogFolderPicker)
        .Show
        Debug.Print .SelectedItems(1)
    End With
End Sub

 

 폴더를 선택하기 위한 FileDialog의 옵션은 msoFileDialogFolderPicker입니다. 해당 옵션을 선택하면, 폴더만 조회됩니다. 원하는 폴더를 선택하고, 확인 버튼을 클릭합니다.

 선택된 폴더는 폴더 경로의 값을 가집니다.

 위 2가지 옵션을 통해, 내가 원하는 경로나 파일명을 가져올 수 있습니다. 아래 포스팅과 연계하면 좀 더 유연한 프로그램을 만들 수 있습니다.

https://stat-and-news-by-daragon9.tistory.com/246

 

[엑셀VBA] 파일 목록(리스트) 만들기(Dir 함수)

안녕하십니까 춤추는초코칩입니다. 업무 중에 필요한 엑셀VBA를 기록하고 있습니다. 오늘은 폴더 내에 파일 목록과 파일 갯수를 가져오는 매크로를 만들어 보겠습니다. Temp 폴더안에 4개 엑셀 자

stat-and-news-by-daragon9.tistory.com

반응형