RPA에서 Excel 사용중 웬만한 '엑셀 자체의 문제'는 엑셀 패키지와 NPOI를 최신화하면 거의 해결된다.

이외 개발 실수로 인한 에러를 줄이는 방법 중,

Excel Application Scope으로 작업할 때 옵션을 어떻게 해야 하는지를 정리해보고자 한다.

Excel Application Scope의 옵션들

* Create if not exists : 이 옵션은 웬만하면 체크해제하길 바란다. 아무 빈 파일이나 만들어서 작업하는 게 아니라면 별로 쓸모가 없다. 파일이 없다면 에러가 나줘야 한다.

* InstanceCachePeriod : 엑셀 scope내에 있는 Activities들이 다 진행된 후 엑셀이 지속되는 시간. Excel Scope이 Loop안에 있거나 연속으로 엑셀을 쓰면서 세션이 간헐적으로 꼬인다면 이걸 높여줘야 한다. 하드웨어 스펙이 좋으면 보통 문제가 없으므로 3000으로 그냥 두고, 퍼포먼스가 필요하면 0으로 바꿔주자. [앞 뒤에 Delay를 줘도 RPC 에러같은 게 자꾸 날 때만 빼곤 그냥 0으로 해도 무방]

* Save Changes : 이 옵션도 해제하고 Save Workbook을 제일 하단에 두자. 특히 이걸 해제하면 엑셀 파트만 테스트하고 싶을 때 굳이 파일을 갈아줄 필요가 없이 Save Workbook만 Disable 걸어주면 된다. 또 이 옵션을 체크하느냐 마냐로 엑셀 작업의 속도가 유의미하게 달라진다.

* Visible : 이건 웬만하면 디버깅할 때만 켜도록 하자. 엑셀 내에서 특별히 뭔가 클릭해서 진행하는 게 있지 않은 이상, 켜면 퍼포먼스 손해다.

 

결국 다 해제하는 게 좋은데 Default가 모두 체크로 돼있어서 그건 조금 아쉽다.

+ Recent posts