강의소개

이번 강의에서는 엑셀 VBA 자동화 구축에 꼭 필요한 파일선택창 모듈에 대해 알아봅니다. 파일선택창을 활용하면 특정 확장자를 가진 파일만 사용자가 직접 선택할 수 있도록 유도할 수 있으며, 따라서 더욱 유연성있는 매크로 프로그램을 제작할 수 있습니다. 이번 강의에 소개해드린 마스터코드의 인수를 변경하면 파일선택창의 시작경로, 선택가능한 확장자, 선택가능한 파일의 개수 등을 조절할 수 있습니다.

패치노트

2019.11.27 : Multiple_FileDialog 마스터 코드에 파일구분자 선택 인수 PathDelimiter를 추가하였습니다.

예제파일 및 E-Book 교재 다운로드

파일구분마지막수정일파일형식파일다운로드
10완성파일2020-01-22XLSM퀵 VBA 파일다운로드
9완성파일2020-01-06XLSM퀵 VBA 파일다운로드
8완성파일2019-12-16ZIP퀵 VBA 파일다운로드
7E-Book2019-11-24PDF퀵 VBA 파일다운로드
7예제파일2019-11-22XLSX퀵 VBA 파일다운로드
6E-Book2019-11-26PDF퀵 VBA 파일다운로드
6예제파일2019-10-26XLSX퀵 VBA 파일다운로드
5E-Book2019-12-15PDF퀵 VBA 파일다운로드
5예제파일2019-12-15XLSX퀵 VBA 파일다운로드
4E-Book2019-10-30PDF퀵 VBA 파일다운로드
4완성파일2019-10-30ZIP퀵 VBA 파일다운로드
3E-Book2019-10-30PDF퀵 VBA 파일다운로드
3예제파일2019-10-30XLSX퀵 VBA 파일다운로드
2완성파일2019-12-22XLSM퀵 VBA 파일다운로드
1완성파일2019-11-27XLSM퀵 VBA 파일다운로드

1. 변수 설정하기

4개의 변수를 생성합니다.

  • FGD : FileDialog (파일선택창) 을 위한 변수입니다.
  • Selected : 파일선택창에서 파일이 선택 되어있는지 여부를 정수로 받아옵니다.
  • i : 파일선택창에서 선택된 파일(들)의 순번을 나타냅니다.
  • ReturnStr : 선택된 파일(들)의 파일경로를 나타내는 텍스트입니다.

2. 파일선택창 (File Dialogue) 환경설정

파일선택창을 아래와 같이 설정합니다.

  • Title : 파일선택창 좌측 상단에 보이는 제목을 설정합니다.
  • Fileters.Add : 선택할 수 있는 파일 확장자를 제한합니다.
  • InitialView : 파일선택창의 '보기종류'를 설정합니다.
  • InitialFileName : 파일선택창이 나타냈을 때의 초기 폴더경로를 설정합니다.
  • AllowMultiSelect : 다중선택을 허용할지 여부를 결정합니다.

3. 선택된 파일의 파일경로 받아오기

파일선택창에서 선택된 한 개 또는 여러 개의 파일 경로를 받아옵니다.

파일선택창에서 파일이 선택되었을 경우 Selected 변수는 -1을 반환하므로, Selected 변수가 -1일 경우에만 파일경로를 받아올 수 있도록 합니다.

Q: 파일이름에 콤마(,)가 들어갈 경우엔 어떻게 하나요?

파일이름에 콤마(,)가 들어갈 경우, 구분기호를 세로바(|)로 대체하여 코드를 작성합니다. 윈도우체제의 파일명에는 세로바(|) 사용이 금지되어 있으므로, 세로바(|)로 파일명을 구분할 경우 모든 상황에 대처할 수 있습니다.

4. 에러핸들링 (오류처리)

파일 선택창에서 아무런 파일이 선택되지 않고 종료될 경우, VBA에서는 디버그오류를 반환합니다.

따라서 아무런 파일이 선택되지 않을 경우 사용자가 다시 파일을 선택하도록 유도하거나 또는 파일이 선택되지 않았다는 알림창을 띄우는 방법으로 오류처리를 합니다.

4-A. 사용자가 다시 파일을 선택하도록 유도하는 오류처리방법

4-B. 파일이 선택되지 않았다는 알림창을 띄우는 오류처리 방법

5. 엑셀 VBA 파일선택창 마스터 코드

파일 선택창을 하나의 Function(함수)로 만들어 사용하면 다양한 VBA 모듈에서 효율적으로 사용할 수 있습니다.

아래 파일선택창 마스터 코드 전문을 활용해서 여러분의 VBA 프로그램을 더욱 멋지게 만들어보세요!

파일선택창 마스터 코드에 사용된 인수 설명
인수데이터구분설명기본값
TitleString[선택인수] 파일선택창 제목입니다."파일을 선택하세요."
FilterNameString[선택인수] 선택가능한 확장자그룹 이름입니다."엑셀파일"
FilterExtString[선택인수] 선택가능한 확장자 목록입니다."*.xls; *.xlsx; *.xlsm"
InitialFolderString[선택인수] 기본 시작폴더 경로입니다. (미입력시 '내문서' 폴더로 이동)""
InitialViewMsoFileDialogView[선택인수] 파일선택창 보기 형식입니다.msoFileDialogViewList
MultiSelectionBoolean[선택인수] 파일 다중선택 가능여부입니다.True
PathDelimiterString[선택인수] 다중선택된 파일을 구분할 구분자입니다."|"
파일선택창 마스터 코드 전문

6. 파일선택창 마스터 코드 활용하여 여러 개의 엑셀파일 동시에 실행하기

파일선택창 마스터 코드를 활용하여 아래와 같이 여러 개의 엑셀파일을 동시에 실행하는 명령문을 작성합니다.

댓글 남기기

avatar
  현재 페이지 댓글알림 신청  
알림 설정