LabVIEW bug - 엑셀저장오류(Excel_Save_Workbook.vi)

안녕하세요. 알렉스 입니다.

오늘은 NI_ReportGenerationToolkit.lvlib를 사용하다가 생기는 오류에 대해서 알려드리겠습니다.

이 오류는 제가 여러 프로젝트를 하다가 발견한 것인데 서로다른 Excel버전 또는 다른 LabVIEW버전을 사용할시 빈번하게 나타날수 있습니다.



그림1) 엑셀저장함수 사용시 에러발생 
위 함수를 사용하다가 그림1과 같은 에러가 발생시 크게 2가지 원인이 있을수 있습니다. 


그림2) 'Save Report File.vi'에 들어갈때 창

위 오류는 엑셀을 해결하기 위한 오류로  함수를 더블 클릭하면 그림2와 같은 창이 나타납니다. 이때 Excel 카테고리로 들어가시면 됩니다.

그림3) MS Office 인증이 안된 상태
그림3과 같이 나타난다면 Excel이 인증을 받지 않았다는 뜻입니다. 해결하기 위해서는 정품 Excel를 사용하셔야 합니다. 

그림4) MS Office 인증후 블록다이어그램
MS Office에 인증을 받은후 블록다이어그램을 열어보시면 실행파일이 깨져있다는 것을 알수 있습니다. 깨진 함수도 들어가봅니다.

그림5) 깨진 인보크노드
깨진 함수로 들어가다보면 인보크 노드가 원인인 것을 알수 있습니다.

그림6) 깨진 이유
그림6과 같은 경우는 주로 버전 차이에 따라 나타나는 현상입니다. 특히 오래된 MS Office를 사용할때 자주 나타난 증상이지만 해결방법은 간단합니다.

그림7) 우클릭후 변경 
먼저 인보크노드 상태를 바꾸기 전에 연결노드는 잘 기억해 줍니다. 그리고 인보크 노드를 우클릭을 하면 그림7과 같이 여러 목록이 나타납니다. 이중에서 Save로 변경합니다.


그림8) 인보크 노드가 Save로 변경


그렇게 되면 기존에 연결되었던 연결노드가 모두 끊어지게 됩니다. 그리고 다시 그림7처럼 우클릭후 'Save As'로 변경해 줍니다.


그림9) 인보크 노드는 다시 'Save As'로 변경

다시 'Save As'상태에서 연결을 하고 확인해 보면 실행버튼이 다시 정상으로 돌아온 것을 알수 있습니다. 이후 모든 VI를 저장하고 다시 엑셀파일을 LabVIEW로 저장하면 정상적으로 동작된다는 것을 확인 할수 있습니다.





댓글

이 블로그의 인기 게시물

Lesson 12_1 프로퍼티 노드(Property Node)

DAQ로 전압 측정하기-2

Lesson 12_2 참조를 이용한 프로퍼티노드(Property Node)