반복되는 업무를 어떻게 하면 자동화를 할 수 있을까... 고민을 하였다. 업무에 사용하는 프로그램은 심사평가원의 인증을 받은 프로그램으로 내가 어떻게 조작을 가할 수 없는 프로그램이었고, 대체 프로그램을 만들수도 없는 상황.
인터넷을 뒤지다 보니, AutoHotKey(AHK)라는 것을 알게 되었다.
일종의(?) 후킹프로그램인 것 같다.
아뭏든 이놈의 도움으로 업무가 한결 간결해 졌다.
환자의 list를 csv로 출력(OOBASIC - OpenOfficeBasic을 이용)하게 한 다음에, AHK를 통해서 처리를 하도록 하였다.
처음에는 모든 환자들의 그날 처방을 일괄 입력을 시키고 나서, 면담때 기록한 기록을 기입하는 것으로 하였었다가, 지금은 환자별 자동입력으로 루틴을 변경하였다.
csv file을 처리하는 루틴을 참고로 기록해 둔다.
;----------- Read csv file to Array ---------------------
Loop, read, C:\Documents and Settings\shaegis\바탕 화면\repeatOrderPtList.csv
{
LineNumber = %A_Index%
Loop, parse, A_LoopReadLine, csv
{
repeatOrderPtList%LineNumber%_%A_Index% := A_LoopField
; Key point is NO use % <--- 이것 찾느라 힘들었다.
}
}
;------------ Begin the Script body ----------------------
Loop, read, C:\Documents and Settings\shaegis\바탕 화면\repeatOrderPtList.csv
{
;-------- Load Pt. to Main Window --------------------
WinActivate, ahk_class TfmMain
어쩌고 저쩌고... 처리 사항들...
}
AHK는 불행하게도 배열을 지원하지 않는다. 하지만 변수를 가지고 유사배열을 만들수 있다.
