Tuesday, November 11, 2008

평균재원환자수 구하는 스크립트

네오 소프트의 환자정보로부터 평균재원환자수를 구하는 스크립트.
개발에 집중할 수 있는 시간상... 우선은 엑셀화일로의 기동까지만...

Option Explicit

Dim objWshShell
Set objWshShell = WScript.CreateObject("WScript.Shell")

objWshShell.Run "C:\ChartPlus\CHAM_INFO.exe"

WScript.Sleep 1000

objWshShell.AppActivate "환자 조회 및 검색 기능"
WScript.Sleep 100 '0.1초 기다림

objWshShell.SendKeys "%V"
WScript.Sleep 100

objWshShell.SendKeys "{DOWN}"
WScript.Sleep 100

objWshShell.SendKeys "~" '{ENTER}와 같은 의미
WScript.Sleep 100

objWshShell.SendKeys "{TAB}"
WScript.Sleep 100

objWshShell.SendKeys "{TAB}"
WScript.Sleep 100

objWshShell.SendKeys "{TAB}"
WScript.Sleep 100

objWshShell.SendKeys "20081101"
WScript.Sleep 100

objWshShell.SendKeys "{TAB}"
WScript.Sleep 100

objWshShell.SendKeys "20081130"
WScript.Sleep 100

objWshShell.SendKeys "{TAB}"
WScript.Sleep 100

objWshShell.SendKeys "{TAB}"
WScript.Sleep 100

objWshShell.SendKeys "{TAB}"
WScript.Sleep 100

objWshShell.SendKeys "{TAB}"
WScript.Sleep 100

objWshShell.SendKeys "{TAB}"
WScript.Sleep 100

objWshShell.SendKeys "{TAB}"
WScript.Sleep 100

objWshShell.SendKeys "{TAB}"
WScript.Sleep 100

objWshShell.SendKeys "{TAB}"
WScript.Sleep 100

objWshShell.SendKeys "{TAB}"
WScript.Sleep 100

objWshShell.SendKeys "~" '{ENTER}와 같은 의미
WScript.Sleep 100

objWshShell.SendKeys "~" '{ENTER}와 같은 의미
WScript.Sleep 100

1 comment:

Sok H. CHANG said...

SendKeys의 경우 다른 프로그램이나 사용자의 입력에 의해서 영향을 받을 수 있다. 즉, 스크립트의 완벽한 작동은 100% 보장되지 않는다. 가능한한 COM을 이용하여 프로그램을 조작하자! 하지만... 네오 소프트의 경우 엑세스의 VBA로 만들어진 프로그램으로 생각되나, 프로그램 내부로의 엑세스 방법이 묘연하다.