VBA 폴더 선택 명령문 :: FolderDialog 명령문 사용법 총정리
엑셀 FolderDialog 명령문 목차 바로가기
요약
엑셀 FolderDialog 명령문은 폴더선택창으로 사용자가 선택한 폴더의 경로를 반환하는 함수입니다.
명령문 구문
경로 = FolderDialog( [대화상자제목], [시작경로], [보기방식] )
사용된 인수 및 변수 알아보기
인수 | 설명 |
대화상자제목 [String, 선택인수] |
폴더선택창 대화상자에 표시 될 대화상자 제목입니다. 기본값은 "폴더를 선택하세요." 입니다. |
시작경로 [String, 선택인수] |
폴더선택창의 시작 경로입니다. 기본값은 사용중인 PC의 시작경로입니다. |
보기방식 [FileDialogView, 선택인수] |
폴더선택창 보기방식입니다. 기본값은 자세히보기입니다. |
예제파일 다운로드
오빠두엑셀의 강의 예제파일은 여러분을 위해 자유롭게 제공하고 있습니다.
- [엑셀VBA함수] FolderDialog 명령문예제파일
상세 설명
엑셀 FolderDialog 명령문은 폴더선택창을 실행하여 사용자가 선택한 폴더경로를 반환하는 사용자지정함수입니다. 폴더경로가 아닌 특정 파일 경로를 반환하려면 Muleiple_FileDialog 함수를 사용합니다.
FolderDialog 명령문으로 아무런 경로가 선택되지 않으면, "선택된 폴더가 없어 프로그램을 종료합니다."라는 안내메시지가 출력되며 현재 실행중이던 모든 명령문을 종료합니다.
실전 사용 예제
- 사용자가 선택한 폴더경로 받아오기
Sub Test1() Dim sFolder As String sFolder = FolderDialog MsgBox sFolder '사용자가 선택한 폴더 경로를 메시지박스로 출력합니다. End Sub
- 사용자가 선택한 폴더경로를 윈도우 탐색기로 실행하기
Sub Test2() Dim sFolder As String sFolder = FolderDialog Shell "explorer.exe" & " " & sFolder, vbNormalFocus '사용자가 선택한 폴더 경로를 파일탐색기로 실행합니다. End Sub
VBA 폴더 선택 명령문, FolderDialog 명령문 동작원리
FolderDialog 명령문 전체 코드
Function FolderDialog(Optional Title As String = "폴더를 선택하세요", Optional InitialFolder As String = "", _ Optional InitialView As MsoFileDialogView = msoFileDialogViewList) '############################################################### '오빠두엑셀 VBA 사용자지정함수 ([https://www.oppadu.com](https://www.oppadu.com/)) '▶ FolderDialog 함수 '▶ 폴더를 선택한 뒤, 폴더 경로를 텍스트로 반환합니다. '▶ 인수 설명 '_____________Title : 폴더 선택창에 표시할 대화상자 제목입니다. '_____________InitialFolder : 시작 경로입니다. '_____________InitialView : 폴더 선택창 보기 방식입니다. '▶ 사용 예제 'Dim sFolder As String 'sFolder = FolderDialog '############################################################### Dim sFolder As String Dim Selected As Long With Application.FileDialog(msoFileDialogFolderPicker) .Title = Title .InitialView = InitialView .InitialFileName = InitialFolder Selected = .Show If Selected = -1 Then sFolder = .SelectedItems(1) FolderDialog = sFolder Else MsgBox "선택된 폴더가 없어 프로그램을 종료합니다." End End If End With End Function
명령문 동작원리 단계별 알아보기
- 폴더경로와 폴더 선택여부를 받아올 변수를 선언합니다.
Dim sFolder As String Dim Selected As Long
- 폴더선택창을 실행한 뒤, 제목, 보기방식등을 설정합니다.
With Application.FileDialog(msoFileDialogFolderPicker) .Title = Title .InitialView = InitialView .InitialFileName = InitialFolder Selected = .Show
- 폴더가 선택되었을 경우 폴더경로를 반환 후 명령문을 종료합니다.
If Selected = -1 Then sFolder = .SelectedItems(1) FolderDialog = sFolder Else
- 폴더가 선택되지 않았을 경우, 오류메시지 출력 후 명령문을 종료합니다.
MsgBox "선택된 폴더가 없어 프로그램을 종료합니다." End End If End With
- 사용자가 선택한 폴더경로 받아오기