이 페이지에서
구문
= FolderDialog ( [대화상자제목], [시작경로], [보기방식] )
인수구분
형식 설명
대화상자제목
선택
String
폴더선택창 대화상자에 표시 될 대화상자 제목입니다. 기본값은 "폴더를 선택하세요" 입니다.
시작경로
선택
String
폴더선택창의 시작 경로입니다. 기본값은 사용중인 PC의 시작경로입니다.
보기방식
선택
MsoFileDialogView
폴더선택창 보기방식입니다. 기본값은 목록 보기(msoFileDialogViewList)입니다.
마스터 코드
복사한 코드는 VBA 편집기(Alt + F11) 새 모듈에 붙여넣어 사용하세요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
안내사항
폴더가 선택되지 않으면 "선택된 폴더가 없어 프로그램을 종료합니다." 안내메시지를 출력한 뒤, 실행 중이던 모든 명령문을 종료합니다.
--> 해결방법을 찾았습니다 .다운을 받아서 열어야 엑셀로 열리네요 ㅜㅜ