티스토리 뷰

이 글에서는 DIAdem을 통해서 다중 파일을 선택하여 처리하는 방법에 대해서 알아보도록 하겠습니다. 파일 선택을 위해서는 파일 선택을 하게 하는 파일선택 창을 먼저 띄어야 합니다.


파일 선택을 위한 함수는 DIAdem Script의 FileDlgShow가 있습니다. 이 함수를 살펴보면 아래와 같습니다. 함수 인자의 필수적인 값은 FileDlgName이며 이는 FileDlgShow 창이 뜨면서 기본적으로 보여주게될 폴더를 나타냅니다. 다른 option들은 아래의 그림을 참고하시기 바랍니다. 



위의 함수를 아래와 같이 구현하여 실행을 시키게 되면 아래와 같은 파일을 선택할 수 있는 창이 나오게 됩니다. 




파일을 여러개 선택하여 열기 버튼을 누르게 되면 FileDlgShow 함수는 리턴값으로 “IDOk” 값이 넘어오게 됩니다. 취소를 누르게 되면 “IDCancel”의 값이 들어오게 됩니다. 관련 내용은 아래의 ReturnValue 부분의 DlgState를 참고하시면 됩니다.  



열기 버튼을 누르게 되면 파일의 경로가 FileDlgNameList에 저장이 됩니다. FileDlgNameList는 말그대로 경로를 저장하는 리스트입니다. 따라서 한개를 선택하던, 열개를 선택하던 모든 정보가 저장이 됩니다. 


FileDlgNameList는 선택된 갯수만큼 List에 저장되기 때문에 사용자가 선택한 갯수를 파악을 해야합니다. 이때는 Ubound 함수를 이용할 수 있습니다. 


 

UBound 함수는 VBS의 내부함수로 배열 혹은 리스트의 크기를 리턴합니다. 


따라서 다수의 파일을 선택하고 이를 프로그래밍 상에서 처리하기 위해서는 아래와 같이 FileDlgShow의 결과가 “IDOk”인가를 파악하는 IF 구문과 파일이 선택된 갯수만큼 반복하는 For 구문, Ubound 함수를 이용하게 되면 사용자가 선택한 파일의 갯수만큼 특정 알고리즘을 처리하는 코드를 구현할 수 있습니다. 


이에 대해서 관련된 코드는 아래와 같습니다. 



위의 코드는 선택한 파일 갯수 만큼 아래와 같은 메시지 창을 보여주며, 메시지 창의 내용에는 각 파일의 파일 경로를 나타냅니다. 



 위의 코드를 활용하게 되면 선택한 파일을 Data Portal에 읽어드리고, Report를 생성한뒤 PPT 혹은 Image 파일로 Export 할수 있는 기초를 마련할 수 있습니다.



댓글