반응형

DialogBox를 이용하여 선택한 엑셀파일 열기

 

DialogBox를 이용하여 엑셀파일을 선택하고, 선택한 엑셀파일을 Open합니다.

Application.GetOpenFilename 메서드를 이용합니다.

 

Syntax

  Application.GetOpenFilename( FileFilter, FilterIndex, Title, ButtonText, MultiSelect )

  - FileFilter : DialogBox에 표시할 파일의 필터 조건( Ex. *.xlsx )

  - FilterIndex : FileFilter를 여러개 지정했을때, 가장 우선할 인덱스 번호

  - Title : DialogBox의 제목표시줄 이름

  - MultiSelect: 여러개의 파일을 선택할 수 있는지 여부, True이면 1차원 배열로 결과를 리턴

 

선택한 파일 열기

Sub 선택파일열기()

    OpenFile = Application.GetOpenFilename()  'DialogBox 호출
    
    '선택한 파일을 선택하지 않으면 종료한다.
    If OpenFile = False Then
        Exit Sub
    End If
    
    Workbooks.Open Filename:=OpenFile
    
End Sub

파일 선택 DialogBox

Application.GetOpenFilename 메소드에 의해 호출된 DialogBox에서 파일을 선택하고

Workbooks.Open 메소드를 이용하여 파일을 Open합니다.

 

선택한 n개의 파일 열기

Sub 선택파일열기2()

    OpenMultiFile = Application.GetOpenFilename(MultiSelect:=True)
    
    '선택한 파일을 선택하지 않으면 종료한다.
    If IsArray(OpenMultiFile) = False Then
        Exit Sub
    End If
    
    'Loop를 이용하여 파일을 Open한다.
    For Each OpenFile In OpenMultiFile
        Workbooks.Open Filename:=OpenFile
    Next

End Sub

GetOpenFilename 메소드의 MultiSelect 옵션을 이용하여, n개 파일을 선택합니다.

선택된 파일은 1차원 배열로 리턴되며, 이를 For문을 이용하여 반복해서 Open합니다.

 

끝.

반응형