저는 정부출연 연구소의 연구원입니다.
제가 최근 어려움을 겪고 있는 문제는 엑셀 VBA를 DOS 프로그램의 실행과 연동하여야 하는 것입니다. 기본 프로그램은 엑셀VBA로 작성하여 계산하는데 일부의 공학적 계산은 Fortran으로 작성된 Chemkin이란 상용코드를 사용합니다. 이는 지금까지 DOS(명령프롬프트)창에서 구동하여 왔습니다.
따라서 "엑셀->input text 파일생성 -> (명령프롬프트 창으로 이동) -> 상용코드 run (몇개의 과정을 거쳐야 하므로 batch파일로 만들어서 run시킴) -> (엑셀 창으로 이동) -> output text 파일 ->엑셀데이터로 변환"의 작업을 하게 됩니다.
이 과정을 원하는 값에 수렴할 때까지 이 작업을 반복하여야 하므로 굉장히 귀찮은 일을 수동으로 하게 됩니다. 데이터의 input과 output (text파일의 생성과 내용 읽음)은 이미 제가 VB로 처리를 하고 있지만 상용코드(실행파일)를 구동하지 못하고 있습니다.
이는 VBA를 이용하여 자동 반복 계산만 할 수 있으면 매우 쉽게 일을 처리할 수 있을 것으로 기대됩니다.
여러 자료와 책을 찾아보아도 DOS 창에서 DOS명령을 주는 예를 보지 못해 문제를 해결하지 못하고 있습니다.
"박재영의 엑셀 VBA"란 책에서는 오피스프로그램과의 연동에 대하여는 잘 나와 있습니다. 하지만 명령 프롬프트와의 연동에 대하여는 찾을 수가 없었습니다. Hyperlink를 이용하여 명령 프롬프트 창을 엑셀에서 열 수 있는 것까지는 공부하였습니다만.
또한 엑셀과 연결시키고자 상기 상용코드의 Window버젼을 리스하여 사용해 보았으나 이것이 연결하기에 더욱 어렵고 불편하였습니다. 다행인 것은 이 상용코드의 Window버젼 역시 엑셀에서 DOS버젼의 Fortran 프로그램을 구동하고 단순히 데이터를 읽어오는 등 처리만 Window에서 하는 것 같아 방법은 분명히 있는 것으로 보입니다.
아무쪼록 고수 선생님의 고견을 주시면 대단히 감사하겠습니다