본문 바로가기

VBA

폴더 선택을 위한 구문

폴더 선택을 위한 구문

Sub GetAFolder()
    With Application.FileDialog(msoFileDialogFolderPicker)
        .InitialFileName = Application.DefaultFilePath & "\"
        .Title = "폴더를 고르시오"
        .Show
        If .SelectedItems.Count = 0 Then
            MsgBox "Canceled"
        Else
            MsgBox .SelectedItems(1)
        End If
    End With
End Sub

참고로 엑셀 2002 이상에서만 사용할 수 있다.

엑셀 2002 이전에서는 API를 이용해서 만들어야 한다.



Excel 개발자 참조
Application.FileDialog 속성
파일 대화 상자의 인스턴스를 나타내는 FileDialog 개체를 반환합니다.

구문

expression.FileDialog(fileDialogType)

expression   Application 개체를 나타내는 변수입니다.

매개 변수

이름 필수/선택 데이터 형식 설명
fileDialogType 필수 MsoFileDialogType 파일 대화 상자의 유형입니다.

비고

MsoFileDialogType은 다음 MsoFileDialogType 상수 중 하나일 수 있습니다.
msoFileDialogFilePicker. 사용자가 파일을 선택할 수 있습니다.
msoFileDialogFolderPicker. 사용자가 폴더를 선택할 수 있습니다.
msoFileDialogOpen. 사용자가 파일을 열 수 있습니다.
msoFileDialogSaveAs. 사용자가 파일을 저장할 수 있습니다.

예제

다음은 사용자가 파일을 하나 이상 선택할 수 있는 파일 대화 상자를 여는 예제입니다. 파일을 선택한 후에는 별도의 메시지에 각 파일의 경로가 표시됩니다.

Visual Basic for Applications
Sub UseFileDialogOpen()

    Dim lngCount As Long

    ' Open the file dialog
    With Application.FileDialog(msoFileDialogOpen)
        .AllowMultiSelect = True
        .Show

        ' Display paths of each file selected
        For lngCount = 1 To .SelectedItems.Count
            MsgBox .SelectedItems(lngCount)
        Next lngCount

    End With

End Sub


Office 개발자 참조
FileDialog 개체 구성원

Microsoft Office 응용 프로그램에 있는 표준 <ui>열기</ui> 대화 상자 및 <ui>저장</ui> 대화 상자와 기능적으로 유사한 파일 대화 상자 기능을 제공합니다.

메서드

  이름 설명
Execute Show 메서드를 호출한 후 바로 사용자 작업을 실행합니다.
Show 파일 대화 상자를 표시하고 사용자가 누른 단추가 동작 단추(-1)인지 취소 단추(0)인지를 나타내는 Long 형식을 반환합니다. Show 메서드를 호출하면 사용자가 파일 대화 상자를 해제할 때까지 코드가 실행되지 않습니다. 열기 및 다른 이름으로 저장 대화 상자의 경우 사용자의 작업을 실행하려면 Show 메서드 다음에 Execute 메서드를 사용합니다.

속성

  이름 설명
AllowMultiSelect True이면 파일 대화 상자에서 여러 파일을 선택할 수 있으며 읽기/쓰기가 가능합니다.
Application FileDialog 개체의 컨테이너 응용 프로그램을 나타내는 Application 개체를 가져옵니다. 이 속성을 Automation 개체와 함께 사용하면 개체의 컨테이너 응용 프로그램을 반환할 수 있으며 읽기 전용입니다.
ButtonName 파일 대화 상자의 작업 단추에 표시되는 텍스트를 나타내는 String 형식을 설정하거나 가져오며 읽기/쓰기가 가능합니다.
Creator FileDialog 개체가 만들어진 응용 프로그램을 나타내는 32비트 정수를 가져오며 읽기 전용입니다.
DialogType FileDialog 개체가 표시하도록 설정된 파일 대화 상자의 유형을 나타내는 MsoFileDialogType 상수를 가져오며 읽기 전용입니다.
FilterIndex 파일 대화 상자의 기본 파일 필터를 지정하는 Long 형식을 가져오거나 설정합니다. 기본 필터는 파일 대화 상자가 처음 열릴 때 나타나는 파일 형식을 지정합니다. 읽기/쓰기가 가능합니다.
Filters FileDialogFilters 컬렉션을 가져오며 읽기 전용입니다.
InitialFileName 파일 대화 상자에 처음 표시되는 경로 또는 파일 이름을 나타내는 String 형식을 설정하거나 반환합니다. 읽기/쓰기가 가능합니다.
InitialView 파일 대화 상자의 파일과 폴더에 처음 나타나는 MsoFileDialogView 상수를 가져오거나 설정하며 읽기/쓰기가 가능합니다.
Item 개체와 연결된 텍스트를 가져오며 읽기 전용입니다.
Parent FileDialog 개체의 Parent 개체를 가져오며 읽기 전용입니다.
SelectedItems FileDialogSelectedItems 컬렉션을 가져옵니다. 이 컬렉션에는 FileDialog 개체의 Show 메서드를 사용하여 표시된 파일 대화 상자에서 사용자가 선택한 파일의 경로 목록이 들어 있으며 읽기 전용입니다.
Title FileDialog 개체를 사용하여 표시된 파일 대화 상자의 제목을 설정하거나 가져오며 읽기/쓰기가 가능합니다.

'VBA' 카테고리의 다른 글

워크쉬트 갯수세기  (8) 2011.04.28
파일/폴더의 존재여부 알아내기  (0) 2011.04.28
Static 변수를 자료맵핑에 활용  (0) 2010.06.16
인터넷에서 파일 다운받기  (0) 2010.06.14
엑셀에서 소리내기  (0) 2010.06.11