이번 글에서는 MS Access 파일을 불러오기 대화상자에서 디폴트 폴더 설정하는 방법에 대해서 알아보겠습니다. MS Access에서 외부 파일 연동은 자주 사용하는 기능 중 하나입니다. 사람들이 Access 보다는 Excel이 더 익숙하기 때문에 Access의 내용을 Excel로 Export 하여 보길 원하고 Access 데이터베이스의 작업 결과를 엑셀이나 워드에 기록하고자 하는 필요가 생깁니다.
이 때 대화상자를 이용하게 되는데 대화상자를 통해 파일을 선택할 시에 보통은 ‘문서’ 폴더가 디폴트로 설정되어 있습니다. ‘문서’ 폴더로부터 자신의 작업 폴더까지 이동하기 위해서 매번 번거로운 절차를 거쳐야 됩니다. 이 글에서는 처음 대화상자를 실행하였을 때 폴더 위치를 Access 파일이 저장된 폴더로 하는 방법에 대해서 알아보도록 하겠습니다.
- .InitialFileName = CurrentProject.Path & “\” 추가
MS Access 파일을 불러오기 대화상자에서 디폴트 폴더 설정
먼저 전체 코드부터 살펴보면 아래와 같습니다.
Dim fd As Office.FileDialog Set fd = Application.FileDialog(msoFileDialogFilePicker) With fd .Filters.Clear .Title = "Excel 파일 열기" ' xlsm은 매크로 포함 통합 문서를 열 때 필요하며, 일반 엑셀파일은 xlsm을 xlsx로 수정 .Filters.Add "Excel Files", "*.xlsm?", 1 .AllowMultiSelect = False .InitialFileName = CurrentProject.Path & "\" Dim sFile As String If .Show = True Then sFile = .SelectedItems(1) End If If sFile <> "" Then On Error Resume Next Set MyXL = GetObject(, "Excel.Application") If Err.Number <> 0 Then Set MyXL = CreateObject("Excel.Application") On Error GoTo 0 Set wb = MyXL.Workbooks.Open(sFile) wb.Activate Else Exit Sub End End With
- 1~2 : FileDialog를 fd로 선언합니다.
- 5~9 : fd의 title, filter, multiselection 등 여러 속성을 적용합니다.
- 10 : 초기 시작 위치를 설정합니다. CurrentProject.Path는 현재 Access 파일이 저장된 위치를 리턴합니다. 마지막에 “\” 를 추가하지 않으면 파일명에 폴더명이 남아있게 됩니다.
- 14~17 : 파일을 열기 위해서 선택한 파일 경로를 sFile에 저장합니다.
- 19~29 : 파일 선택 시 취소를 하게 되면 빈 값이 리턴됩니다. 이를 판단 후 파일 경로의 파일을 열어줍니다.