티스토리 뷰

안녕하세요. 구스입니다.

이 글에서는 디아뎀 스크립트를 통해서 파일을 읽고, 이를 Data Portal에 올리는 방법에 대해서 알아보도록 하겠습니다. 


먼저 디아뎀에서 파일을 읽을 때 사용되는 함수는 바로 FileDlgShow입니다. FileDlgShow 함수는 DIAdem에서 지원하는 DIAdem 내장함수입니다. 


FileDlgShow의 함수원형은 아래와 같습니다. 

FileDlgName, FileDlgFilt, FileDlgCaption, FileDlgMultiSelect에 해당하는 4개의 매개변수를 가지고 있습니다. 



FileDlgShow 함수의 각 매개변수의 역할은 아래와 같습니다. 

  • FileDlgName : 파일 읽기 창이 열렸을 때 설정되는 기본 경로 (필수항목)
  • FileDlgFilt : 파일을 읽을 때 특정 확장자만 읽을지 여부에 대한 String 값 (옵션항목)
  • FileDlgCaption : 파일 열기 창의 Caption을 변경하는 String 값
  • FileDlgMultiSelect : 한번에 여러개의 파일을 선택할 지 여부 Boolean 값 (옵션항목)


FileDlgName은 필수적으로 들어가야 하며, 나머지 3개의 매개변수는 선택적으로 사용을 할 수 있습니다. 


그럼 함수 사용법에 대해서 알아볼까요.

예제 코드는 아래와 같습니다. 


'Variable

Dim iCount


' 기존 Data 삭제

Data.Root.Clear()


' 파일 읽기

Call FileDlgShow("C:\", "Excel Files, *.csv;*.xls", "파일을 선택하세요.", False)

For iCount = 0 To Ubound(FileDlgNameList)

  Call DataFileLoad(FileDlgNameList(iCount))

Next


위의 Call FileDlgShow("C:\", "Excel Files, *.csv;*.xls", "파일을 선택하세요.", False)를 살펴봅시다.


C:\의 경로를 시작 경로로 하며 Excel 파일만 읽게끔 설정하였습니다.

또한 Caption은 파일을 선택하세요라는 메시지가 나타나며, 단일 파일만 읽게끔 처리해놓았습니다.


TDMS 파일과 Excel 파일을 읽고자 한다면 아래와 같이 변경이 가능합니다.


Call FileDlgShow("C:\", "TDMS Files, *.tdms|Excel Files, *.csv;*.xls", "파일을 선택하세요.", False)


각 확장자 단위에 대해서는 '|'로 구분이 되며, 파일명과 파일확장자 사이에는 ","로 구분이 되는 걸 알 수 있습니다. 이를 또다시 여러개의 파일로 변경하고자 한다면 아래와 같이 변경이 가능합니다.


Call FileDlgShow("C:\", "TDMS Files, *.tdms|Excel Files, *.csv;*.xls", "파일을 선택하세요.", True)


자 그럼 파일을 읽어오는 방법에 대해서 확인해 보았습니다. 추가적으로 선택된 파일을 DataPortal로 로드하기 위해서는 DataFileLoad라는 함수가 사용이 됩니다. 


DataFileLoad 함수 역시 DIAdem에서 제공하는 내장함수이며, 함수 원형은 아래와 같습니다.

DataFileLoad 함수는 경로에 있는 관련 파일을 DIAdem에 읽게 해주는 역할을 합니다. 




위의 코드를 실행해 볼까요.


위의 코드를 DIAdem 스크립트 창에서 아래와 같이 작성을 합니다. 

그리고 Data.Root.Clear() 부분에 브레이크 포인트를 설정합니다. 브레이크 포인트 설정은 13번째줄에 마우스를 가져가서 클릭한뒤 F9를 누르면 됩니다. 



브레이크포인트에 코드가 걸리게 하기 위해서 아래의 디버깅 모드로 실행을 합니다. 



디버깅 모드로 실행을 하면 13번째 줄에서 브레이크가 걸립니다. 13번째 줄을 한줄만 실행하기 위해서 F10을 누릅니다.



그럼 Data.Root.Clear() 실행을 통해서 Data Portal에 데이터가 전체 삭제되는 것을 확인할 수 있습니다. 



다음 줄의 코드를 실행하기 위해서 F10을 눌러봅니다. 캡션과 파일 필터 부분이 위에서 설정한대로 나옵니다. 

특정 엑셀파일을 선택하고, 열기를 누릅니다




그럼 지워진 Data Portal에 로드한 파일에 대한 데이터가 올라오는 것을 확인할 수 있습니다. 



이글에서는 DIAdem을 사용하여 VBA 스크립트에서 파일 읽어오기 방법을 확인해보았습니다.

그럼 이만 줄이겠습니다.


이 글이 도움이 되셨으면 아래의 하트를 눌러주세요.




댓글