메뉴
실무 위키VBA 코드FolderDialog

FolderDialog

Function

폴더 선택창을 열어 사용자가 선택한 폴더 경로를 반환하는 VBA 사용자 지정 함수입니다.

FolderDialog 코드 미리보기
구문 = FolderDialog ( [대화상자제목], [시작경로], [보기방식] )
인수구분 형식 설명
대화상자제목 선택 String
폴더선택창 대화상자에 표시 될 대화상자 제목입니다. 기본값은 "폴더를 선택하세요" 입니다.
시작경로 선택 String
폴더선택창의 시작 경로입니다. 기본값은 사용중인 PC의 시작경로입니다.
보기방식 선택 MsoFileDialogView
폴더선택창 보기방식입니다. 기본값은 목록 보기(msoFileDialogViewList)입니다.

마스터 코드

복사한 코드는 VBA 편집기(Alt + F11) 새 모듈에 붙여넣어 사용하세요
Module1 · 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

활용 예제

사용자가 선택한 폴더경로 받아오기
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

안내사항

폴더가 선택되지 않으면 "선택된 폴더가 없어 프로그램을 종료합니다." 안내메시지를 출력한 뒤, 실행 중이던 모든 명령문을 종료합니다.
댓글 2
4 (2개 평가)
kew****
kew**** 2023.02.13 11:42
예제파일을 받으면 엑셀이 아닌 스프레드시트로 열리는건 혹시 왜 그런지 알 수 있을까요? ㅜㅜ
--> 해결방법을 찾았습니다 .다운을 받아서 열어야 엑셀로 열리네요 ㅜㅜ
강민준🤗
강민준🤗 2024.08.11 12:17
좋은 강의 감사합니다.
스크랩 완료