직원 280명인 한빛테크에서 다섯 명의 담당자가 10월과 11월에 겪는 일을 날짜 순서대로 따라갑니다. 무엇이 들어오고, 무엇이 번거롭고, 어디서 실수가 나는지 그들의 머릿속을 따라가다 보면, 작은 스크립트 하나가 그 일을 어떻게 바꾸는지 자연스럽게 보입니다.
설치부터 실습 자료, 실제로 돌아가는 코드까지 모두 들어 있습니다. 코드를 몰라도 버튼을 눌러 가며 끝까지 따라올 수 있습니다.
한빛테크는 기업용 IT 장비와 솔루션을 파는 회사입니다. 직원은 280명, 부서는 경영지원·인사·재무회계·영업관리·구매·영업(전국 8개 팀)·기술지원·물류 등 21개입니다. ERP도 있고 그룹웨어도 있습니다. 그런데 일이 그 안에서 깔끔하게 이어지지는 않습니다.
오래된 사내 ERP의 몇몇 화면에는 엑셀 업로드 버튼이 없습니다. 그래서 엑셀에 있는 값을 사람이 ERP 칸에 하나씩 옮겨 적습니다. 엑셀에는 "고객지원1팀"이라고 적혀 있는데 ERP는 "CS01"을 원하니, 옮기는 사람은 머릿속으로 바꿔 가며 칩니다.
IT운영팀에서 ERP를 맡고 있는 한도윤 과장은 그 모습을 볼 때마다 같은 생각을 했습니다.
"저건 사람이 할 일이 아닌데. 판단은 사람이 하고, 옮겨 적는 건 컴퓨터가 하면 되잖아."
한 과장이 꺼낸 도구는 AutoHotkey(줄여서 AHK)입니다. 윈도우에서 키보드, 마우스, 엑셀, 파일, 웹 화면을 대신 다루게 해 주는 무료 프로그램입니다. 메모장으로 만드는 .ahk 파일 하나에 "이 단축키를 누르면 이렇게 해 줘"라고 적어 두면 그대로 해 줍니다. 예를 들면 이런 식입니다.
이 두 줄을 저장하고 더블클릭한 뒤 Ctrl+Alt+H를 누르면 인사 창이 뜹니다. 이번 달 다섯 명의 동료를 도울 스크립트도 결국 이것을 길게 늘인 것입니다.
"엑셀을 ERP에 자동으로 넣는다"에서 끝나면 사고를 더 빨리 낼 뿐입니다. 한 과장이 만드는 도구는 모두 같은 뼈대를 따릅니다.
이 장만 따라 하면 실습 준비가 끝납니다. 20분이면 충분합니다. 윈도우 10 또는 11이 필요합니다(AHK는 맥에서 돌지 않습니다).
공식 다운로드 페이지에 들어가면 v2가 먼저 보입니다. 이 가이드의 코드는 v1.1 문법이라 v2에서는 돌지 않습니다.
처음이라면 전체 묶음 하나만 받으면 됩니다. 사례 하나만 해 보고 싶다면 사례별 묶음을 받아도 됩니다. 사례별 묶음에도 공통 자료와 코드가 함께 들어 있습니다.
AHK_코드 폴더는 이 자리에 그대로 둡니다. 스크립트가 자기 위 폴더에서 실습 자료를 스스로 찾습니다.
각 사례 폴더의 03_결과(영업관리는 03_취합결과)에 결과 파일이, 실습 자료 맨 위 폴더의 automation.log에 실행 기록이 쌓입니다. 자동화는 실제로 파일을 옮기고 엑셀을 고치니, 처음부터 다시 하려면 압축을 새로 풀면 됩니다.
준비가 끝났습니다. 이제 10월 첫째 주 화요일, 구매팀으로 갑니다.
아침 회의가 끝나고 자리에 앉자 메신저가 울립니다. 영업팀 윤재성 과장입니다.
"20일까지면 2주. 처음 거래하는 업체니까 거래처 등록부터 해야 하는데, 서류는 다 보냈으려나."
거래처를 등록하려면 서류 여섯 가지가 필요합니다. 사업자등록증, 법인통장 사본, 법인인감증명서, 견적서, 거래조건 확인서, 담당자 연락처. 공유폴더를 열어 보니 파일이 네 개뿐입니다.
"인감증명서랑 거래조건 확인서가 없네. 요청 메일을 또 써야겠다. 지난번엔 서류 이름 하나를 빠뜨려서 두 번 요청했었지."
서류가 다 모여도 할 일은 길게 남아 있습니다.
서류 검사, 빠진 서류 안내문, "실행하면 바뀌는 것" 미리 보기, 그리고 위 다섯 가지를 차례로 처리합니다. 단, ERP가 예상하지 못한 반응을 보이면 그 자리에서 멈춥니다.
ERP가 "동일 사업자번호가 존재합니다"라고 막았습니다. 처음 거래하는 업체인데 왜 이미 있을까요. 정 과장은 바로 새로 등록하지 않고 단서를 모읍니다.
"신규가 아니라, 예전에 거래하던 미래넷솔루션이 이름을 바꾼 거구나. 여기서 새 코드를 만들었으면 같은 회사가 ERP에 두 번 있을 뻔했다."
정 과장은 ERP 담당 한도윤 과장에게 기존 거래처 V0187의 상호 변경과 거래 재개를 요청합니다. 프로그램이 이 판단을 대신 내렸다면 깔끔해 보였겠지만 틀렸을 겁니다. 자동화가 멈춰야 할 자리를 설계하는 것, 이 사례에서 가장 중요한 부분입니다.
이번 실행은 폴더 만들기, 파일 정리, 관리대장 기록까지 끝낸 뒤 ERP에서 멈췄습니다. 이미 바뀐 것들은 다시 정리해야 합니다. 사업자번호 조회를 미리 보기 단계로 당기면 아무것도 바꾸기 전에 멈출 수 있습니다. 위 실습에서 "사전검사에 ERP 사업자번호 조회 포함"을 켜고 다시 해 보세요.
미래네트웍스_1차제출/10월 6일 업체가 보낸 서류 4개미래네트웍스_2차제출/10월 8일 보완 서류 2개와 회신 메일거래처_관리대장.xlsx구매팀이 엑셀로 관리하는 거래처 목록procurement_rules.ini필수서류 판별 키워드와 표준 파일명00_공통/ERP_웹/실습용 ERP. 스크립트가 크롬이나 엣지로 엽니다CASE5_Procurement_Assistant.ahk를 더블클릭합니다.
"Procurement Assistant" 창이 뜹니다. 업체 자료 폴더에 1차 제출 폴더가 이미 들어 있고, 업체 정보 칸도 서류를 보고 채워 둔 상태입니다.
서류 검사를 누릅니다.
법인인감증명서와 거래조건 확인서가 "없음"으로 나오고, 아래 줄에 "검증 4 / 6, 등록 불가"가 뜹니다.
미비서류 안내문 생성을 누릅니다.
빠진 두 서류를 적은 안내문이 뜹니다. 클립보드에 이미 복사돼 있어 메일에 붙여 넣기만 하면 됩니다.
폴더 추가로 미래네트웍스_2차제출을 고르고, 서류 검사를 다시 누릅니다.
"검증 6 / 6, 거래처 등록 가능"으로 바뀝니다.
이틀 뒤 업체가 보완 서류를 보냈다고 생각하고 진행합니다.
거래처 등록을 누르고, Dry Run 창을 읽은 뒤 확인을 누릅니다.
실행 전에 바뀔 일이 먼저 보입니다. 폴더 7개, 파일 6개 이동, 관리대장 1행, ERP 1건.
ERP 창이 채워지는 것을 지켜봅니다.
폴더가 생기고 서류 이름이 바뀐 뒤 크롬에서 ERP 칸이 채워집니다. 사업자번호가 들어가는 순간 중복 경고가 뜨고, AHK는 "신규 거래처 등록 중단" 창을 띄운 채 멈춥니다.
기존 거래처 확인을 누릅니다.
V0187의 상태(거래중지), 대표자, 최근 거래일이 나옵니다.
03_결과필수서류 검증 결과와 미비서류 안내문(txt)구매_거래처/미래네트웍스_1234567890표준 이름으로 바뀐 서류 6개. 멈추기 전에 이미 끝난 일입니다거래처_관리대장.xlsx맨 아래 새 행, 비고 "ERP 등록 대기"automation.log 마지막 두 줄STOP ... ERP_DUPLICATE_BIZNO와 PENDING ... STEP6~8 미실행한 번 더 해 보기. 압축을 새로 풀고, 5번 전에 "사전검사에 ERP 사업자번호 조회 포함"을 켭니다. 이번에는 Dry Run 창이 "실행할 수 없습니다"로 끝나고 아무것도 바뀌지 않습니다.
평소 신규 입사자는 한 달에 5명에서 10명입니다. 그런데 이번엔 고객지원센터를 새로 열면서 11월 2일에 43명이 동시에 입사합니다. 채용 담당 이하늘 주임이 최종 명단을 보냈습니다.
20261102_신규입사자_최종.xlsx 앞부분
"43명. 한 명에 1분이면 40분이네. 시간보다 무서운 건 지난달 같은 실수야. 고객지원2팀 직원을 CS01로 넣는 바람에 조직 권한까지 잘못 만들어졌었지."
인사 ERP의 [신규 사원 등록] 화면에는 엑셀 업로드가 없습니다. 게다가 부서·직급·근무지를 이름이 아니라 코드로 받습니다. 고객지원1팀은 CS01, 사원은 10, 서울은 01. 복사해서 붙여넣기만으로는 끝나지 않습니다.
사번 복사, 붙여넣기, 이름 복사, 붙여넣기, 부서를 보고 코드 떠올리기, 직급·근무지 코드, 입사일, 등록. 한 명에 40~60초, 43명이면 30~40분. 눈이 피곤해질 무렵 실수가 나옵니다.
엑셀에서 행을 복사하고 Ctrl+Alt+H. 먼저 명단을 검사하고, 문제가 하나라도 있으면 아예 시작하지 않습니다. 코드는 설정 파일(hr_mapping.ini)에서 찾아 바꾸고, 한 명마다 ERP의 "등록 완료"를 확인한 뒤 다음으로 넘어갑니다.
실습에서는 이 순서를 그대로 따라갑니다. 처음 받은 명단으로 검사하고, 채용 담당과 통화하고, 고친 명단을 다시 받고, 등록합니다. 등록 중에 무슨 일이 생길지는 직접 확인해 보세요.
| 상황 | 누가 | 왜 |
|---|---|---|
| 부서명·직급·근무지를 코드로 | 프로그램 | 규칙이 정해져 있다. 설정 파일 한 곳에서 관리 |
| "고객지원2팀 " 끝 공백 | 프로그램 | 의미가 바뀌지 않는다. 지운 사실은 보고서에 남김 |
| 처음 보는 부서 "고객성공팀" | 사람 | 새 조직인지 오타인지 프로그램은 모른다. 확인한 코드를 등록하면 다음부터 자동 |
| 입사일 "11/2" | 사람 | 연도를 짐작해 넣지 않는다 |
| 39번째 줄 사번 중복 | 사람 | 증상은 39번째 줄이지만 HT260468이 비어 있다. 38번째 줄이 잘못 적었을 수 있다 |
| 등록 중 세션 만료 | 사람 | 다시 로그인은 사람만 할 수 있다. 프로그램은 어디까지 됐는지 기억한다 |
"세션이 끊겼을 때가 제일 좋았어. 예전 같으면 ERP 목록을 처음부터 뒤져서 어디까지 들어갔는지 찾았을 텐데, 31명 완료, 마지막은 최은지, 바로 이어서 하면 되더라."
20261102_신규입사자_최종.xlsx처음 받은 명단 43명. 확인할 줄이 섞여 있습니다20261102_신규입사자_최종_v2.xlsx채용 담당이 고쳐서 다시 보낸 명단hr_mapping.ini부서·직급·근무지 이름을 ERP 코드로 바꾸는 표00_공통/ERP_웹/실습용 ERP. 등록을 시작하면 스크립트가 엽니다스크립트를 더블클릭합니다.
오른쪽 아래에 "엑셀에서 대상 행을 복사한 뒤 Ctrl+Alt+H" 알림이 뜹니다.
_최종.xlsx를 열고 A2 칸을 누른 뒤 Ctrl+Shift+End, Ctrl+C로 복사합니다.
제목 줄(1행)은 빼고 43명만 고릅니다.
Ctrl+Alt+H를 누릅니다.
"사전검증" 창에 정상 40건, 확인 필요 3건이 나옵니다(18번째 고객성공팀, 27번째 입사일 "11/2", 39번째 사번 중복). 등록 시작 버튼은 보이지 않습니다.
미등록 코드 등록을 누르고 ERP 코드 칸에 CS03을 넣은 뒤 등록을 누릅니다.
검증이 다시 돌고 확인 필요가 2건으로 줄어듭니다.
고객성공팀은 새로 생긴 조직입니다. "다음부터 자동 적용"은 켠 채로 두면 hr_mapping.ini에 저장됩니다.
_v2.xlsx를 열어 같은 범위를 복사하고, 검증 창의 다시 검증을 누릅니다.
문제 0건, "등록 대상 43명"과 등록 시작 버튼이 보입니다.
등록 시작을 누릅니다.
실습 전용 크롬 창이 뜨고 ERP 칸이 한 명씩 채워집니다. 왼쪽 위 진행 창에 몇 번째인지 나옵니다.
F8 일시정지, Esc 긴급중단.
31명째에서 멈추면 ERP 창의 다시 로그인을 누릅니다.
AHK 창에 "완료 31건, 마지막 정상 등록 HT260461 최은지"가 떠 있습니다.
AHK 창의 이어하기를 누릅니다.
남은 12명이 들어가고 "등록 43명, 중단 후 이어하기 1번, ERP 목록 확인: 모두 있음"으로 끝납니다.
03_결과/ERP_등록확인.csvERP에서 다시 읽은 43명automation.logSTART, SUCCESS 31줄, ERROR, PAUSE, RESUME, END(SUCCESS=43) 순서hr_mapping.ini고객성공팀=CS03 한 줄이 늘어남처음부터 다시 하려면. ERP 화면 아래 실습 데이터 비우기를 누르고 압축을 새로 풉니다. 비우지 않으면 ERP가 "이미 등록된 사번"으로 막습니다.
월말이면 메일과 그룹웨어로 거래처 증빙이 쏟아집니다. 세금계산서, 거래명세서, 발주서, 견적서, 사업자등록증, 통장사본. 이번 달은 287개입니다. 회계감사에 대비해 모든 증빙은 정해진 폴더와 이름으로 보관해야 합니다.
그런데 받은 파일 이름은 이렇습니다.
"scan_001이 어느 회사 무슨 서류인지는 열어 봐야 알지. 287개를 다 열고, 사업자번호로 거래처 코드 찾고, 금액 확인하고, 폴더 만들고, 이름 바꾸고... 오늘 야근이네."
이 일은 완전 자동이 될 수 없습니다. 스캔본 88개는 글자를 복사할 수도 없는 그림이고, 파일 이름에는 거래처도 금액도 없습니다. 한 과장은 방향을 바꿨습니다.
파일 열기, 거래처 코드 찾기, 이름 규칙대로 타이핑, 폴더 찾아가거나 만들기, 옮기기. 이름 오타 하나면 감사 때 그 파일을 못 찾습니다. 같은 파일이 두 번 오면 두 번 보관됩니다.
사람은 거래처·문서·날짜·금액 네 가지만 고릅니다. 이름과 폴더는 프로그램이 만들고, 내용이 같은 파일은 이름이 달라도 잡아내고, 모든 처리를 CSV 기록으로 남깁니다.
다 끝냈다고 생각할 즈음, 프로그램이 오늘 결과를 보여 줍니다. 받은 파일 287개 중 274개 등록, 8개 중복 제외, 그리고 보류 5개.
"이 다섯 개는 내가 봐도 지금 결정할 수 없는 것들이네. 흐린 스캔은 원본을 다시 받고, 신우테크는 거래처 등록부터, 개인 명의 통장은 누구 건지 물어봐야지. 적어도 빠뜨린 건 없다는 게 확실하니 마음이 편하다."
01_받은파일/이번 달 받은 증빙 287개02_증빙보관함/10월 5일에 먼저 정리한 15개와 정리 로그00_공통/ERP_거래처목록.csv사업자번호로 거래처 코드를 찾는 표스크립트를 더블클릭하고, 탐색기로 01_받은파일 폴더를 엽니다.
10월거래명세표_최종.pdf를 한 번 클릭해 고르고 Ctrl+Alt+F를 누릅니다.
"증빙자료 등록 - 202610" 창이 뜨고 왼쪽 목록에서 그 파일이 골라져 있습니다.
파일 열기로 PDF를 보고, 공급자 사업자등록번호를 "사업자번호로 찾기" 칸에 칩니다.
거래처가 저절로 골라집니다.
문서 종류, 발행일(작성일자), 합계금액(부가세 포함)을 넣고 등록을 누릅니다.
넣는 동안 "저장 예정" 줄에 바뀔 파일 이름이 보입니다.
아래 표의 나머지 파일을 위에서부터 같은 방법으로 처리하고, 내 입력이 표와 같은지 맞춰 봅니다.
창 왼쪽 목록에서 파일 이름을 누르면 바로 고를 수 있습니다. 순서를 지켜야 중복 결과가 표와 같습니다.
같은 내용의 파일이라는 비교 창이 뜨면 중복으로 제외를 누릅니다.
파일이 01_받은파일/_중복제외로 옮겨집니다.
누르기 전에 기존 파일 열기와 신규 파일 열기로 눈으로 확인합니다.
판단할 수 없는 파일은 "보류 사유"를 적고 건너뛰기(보류)를 누릅니다.
오늘 처리 결과를 누릅니다.
입력 파일 287, 정상 등록 2, 중복 제외 2, 보류 2, 미처리 281.
02_증빙보관함/2026/10/거래처/문서종류등록한 파일이 규칙대로 바뀐 이름으로 들어 있음. 없던 거래처 폴더는 새로 생김02_증빙보관함/202610_증빙정리로그.csv처리할 때마다 원본 이름, 결과, 바뀐 이름, 시각이 한 줄씩01_받은파일/_중복제외중복으로 뺀 파일 2개287개를 끝까지. 직접 다 하면 두세 시간 걸립니다. 강사용 기대결과의 정답표로 자동 시연을 돌리면 287 = 274 + 8 + 5를 확인할 수 있습니다(부록 D). 다시 하려면 압축을 새로 풉니다.
매월 마지막 영업일 오후 4시는 영업팀 실적 마감입니다. 서울1·2·3팀, 경기, 대전, 대구, 부산, 광주 여덟 팀이 본사 양식(SALES-2026-03)으로 실적을 보냅니다. 월요일 아침 임원 회의 자료가 이 파일들로 만들어집니다.
"진짜최종, v2, (수정)... 이름이야 그렇다 쳐. 문제는 안이지. 지난달에도 누가 열을 하나 끼워 넣어서 매출 자리에 예상매출이 들어갔었는데."
여덟 개 파일을 하나씩 열어 복사해 붙이는 방식에는 함정이 세 가지 숨어 있습니다.
"436건이 하나도 안 빠졌고, 회의 전에 확인할 게 네 건이네. 대성정밀은 서울1팀과 서울3팀이 같이 올렸고, 대전팀 반품은 맞는지 보고, 서울2팀 목표 0원은 배정이 빠진 것 같고, 부산팀 1억 8천4백만 원은 계약서랑 맞춰 봐야지."
01_1차제출/10월 30일 오후 4시까지 받은 8개 팀 파일02_재제출/다시 받은 부산팀·광주팀 파일본사_표준양식_SALES-2026-03.xlsx열 이름과 순서의 기준(선택) 대구팀_실적보고_1030.xlsx와 경기팀_10월실적(수정).xlsx를 열어 함정을 먼저 봅니다.
대구팀은 행 번호가 건너뛰는 곳이 있고(필터로 숨은 행), 경기팀 매출금액 칸을 누르면 수식이 보입니다.
보고 나서 닫습니다.
스크립트를 더블클릭하고 Ctrl+Alt+S를 누릅니다.
제출 폴더 칸에 01_1차제출이 이미 들어 있습니다.
구조 검사를 누릅니다.
몇 초 뒤 팀별 판정이 나옵니다. 서울2팀 주의, 부산팀·광주팀 오류, 나머지 다섯 팀 정상.
팀 줄을 더블클릭하면 이유가 나옵니다. 대구팀은 숨은 행, 경기팀은 수식 칸 개수까지 보여 줍니다.
폴더 추가로 02_재제출을 고르고 구조 검사를 다시 누릅니다.
부산팀과 광주팀이 정상으로 바뀝니다. 나중에 추가한 폴더의 파일이 앞 파일을 대신합니다.
취합 실행을 누르고, 결과 창에서 예를 누릅니다.
취합 436건, 달성률 103.75%, 달성 팀 6 / 미달 2, 달성자 57 / 미달 24, 확인 필요 4건. 결과 파일이 열립니다.
2026년10월_영업실적_취합.xlsx요약·팀별·담당자별·확인필요·취합데이터 시트 5개확인필요_목록.txt대성정밀 중복, 대전팀 음수 매출, 서울2팀 목표 0원, 부산팀 1억 원 이상 매출다시 하려면. 결과 파일이 엑셀에 열려 있으면 덮어쓰지 못하니 먼저 닫습니다. 입력 파일은 읽기만 해서 압축을 새로 풀 필요가 없습니다.
올해 정기 건강검진 대상은 120명입니다. 검진센터는 11월 16일(월)부터 18일(수)까지 하루 오전 20명, 오후 20명씩 모두 120석을 열어 주었습니다. 정원과 사람 수가 딱 맞습니다. 한 사람만 어긋나도 누군가는 자리가 없습니다.
직원들은 1순위와 2순위 날짜, 오전·오후 제한을 냈습니다. 비고란에는 이런 말들이 적혀 있습니다.
"엑셀로 하나씩 칸을 채우다 보면 어느 순간 11월 16일 오전이 22명이 되어 있겠지. 안내 메일도 120통인데 오전 검진이랑 오후 검진은 금식 시간이 달라."
명단을 보며 한 명씩 칸에 넣고, 정원을 손으로 세고, 안내문 120통을 복사해 이름과 시간을 고칩니다. 변경 요청이 오면 처음부터 다시 셉니다.
정해진 규칙으로 자동 배정하고, 사정이 있는 사람만 따로 모아 줍니다. 마감된 칸에는 넣을 수 없고, 안내문은 사람마다 다르게 만들고, 변경 요청은 접수 순서대로 정원을 다시 세며 처리합니다.
| 자동 배정 규칙 |
|---|
| 접수 순서대로 1순위 날짜, 안 되면 2순위 날짜 |
| 오전/오후 제한을 지키고, 둘 다 되면 남은 자리가 많은 쪽(같으면 오전) |
| 비고에 날짜와 함께 출장·미팅·회의·교육·휴가·불가·외근이 있고 희망일과 겹치면 자동 배정하지 않음(입력이 서로 맞지 않음) |
| 희망일이 비었거나 모두 마감이면 자동 배정하지 않음 |
| 입장 시간은 슬롯 안에서 사번 순서로 30분 간격 4명씩 |
"전화는 여덟 명한테만 했어. 11/16만 가능하다던 분 자리는, 2순위가 넉넉한 다른 분께 양해를 구해서 만들었고. 변경 요청 17건도 마감된 칸으로 가려던 두 분만 반려 안내하면 끝."
01_검진센터_예약가능슬롯.xlsx사흘, 오전·오후 6개 슬롯, 각 20석02_2026_건강검진_희망일_취합.xlsx120명의 1·2순위 희망일과 비고03_건강검진_안내문_템플릿.txt안내문 틀. 오전·오후 금식 안내가 다름2단계_변경처리/확정일정(04)과 변경 요청 17건(05)스크립트를 더블클릭합니다.
"건강검진 일정 관리" 창이 1단계 탭으로 뜨고, 120명이 표에 읽혀 있습니다.
자동 배정 실행을 누릅니다.
자동 배정 112명, 수동 확인 필요 8명.
"수동 확인만 보기"를 켜고, 아래 표를 위에서부터 한 줄씩 넣습니다. 직원 고르기, 슬롯 고르기, 선택 직원 배정/변경 순서입니다.
"자리 양보" 줄의 직원은 수동 확인 대상이 아니라서 그 줄에서는 "수동 확인만 보기"를 끄고 사번으로 찾습니다. 순서를 바꾸면 정원 초과로 막힙니다.
확정 저장 + 안내문 만들기를 누릅니다.
슬롯 6개가 모두 20/20이 되고, 03_결과에 확정일정과 안내문 120건이 생깁니다.
표에서 직원 한 명을 고르고 Ctrl+Alt+M, 메모장에 붙여 넣어 봅니다.
그 사람의 안내문이 나옵니다. 오전과 오후는 금식 안내가 다릅니다.
"2단계 변경 처리" 탭에서 확정일정 + 변경 요청 불러와 처리를 누릅니다.
17건의 처리 결과가 표로 나오고, 위 줄의 인원이 20 / 18 / 19 / 20 / 17 / 18로 바뀝니다.
파일 고르는 창이 두 번 뜨는데, 04와 05 파일이 이미 골라져 있으니 열기만 누릅니다.
처리 결과 저장 + 변경 안내문을 누릅니다.
건강검진_확정일정.xlsx, 안내문_전체.txt120명, 입장 시간 포함, 안내문 120건일정변경_처리결과.xlsx처리결과·최종현황 시트. 최종 20 / 18 / 19 / 20 / 17 / 18, 20명 넘는 칸 없음변경안내문.txt일정이 바뀐 사람의 안내문만다시 하려면. 스크립트를 끄고(H 아이콘 오른쪽 클릭, Exit) 다시 켜면 처음 상태로 돌아갑니다. 입력 파일은 바뀌지 않습니다.
건강검진 첫날 아침, 검진센터 대기실에서 한도윤 과장은 지난 한 달을 떠올립니다.
| 날짜 | 누구 | 예전 | 이번 달 |
|---|---|---|---|
| 10/6 | 구매팀 정민호 | 서류 확인, 요청 메일, 폴더·대장·ERP 손 입력 | 빠진 서류 안내문 자동 작성, 같은 회사 중복 등록을 막음 |
| 10/29 | 인사팀 김서연 | 43명 손 입력 30~40분, 코드 실수 위험 | 검사 후 자동 등록, 세션 만료에도 이어서 완료 |
| 10/30 | 재무회계팀 이수진 | 287개 열고 이름 짓고 옮기기 | 네 가지만 고르면 나머지 자동, 중복 8건과 보류 5건까지 정확히 |
| 10/30 | 영업관리팀 박준호 | 복사·붙여넣기, 빠진 행과 엉뚱한 값 | 436건 누락 없이 취합, 회의 전 확인 4건 |
| 11/5 | 경영지원팀 최유진 | 포스트잇 배정, 안내문 120통 손 편집 | 112명 자동 배정, 전화는 8명만, 변경 17건 처리 |
"다섯 도구 모두 결국 같은 걸 했어. 판단은 사람에게 남기고, 반복은 컴퓨터가 하고, 멈춰야 할 땐 멈추고, 전부 기록하고. 그 기준을 지키니까 사람들이 도구를 믿더라."
크롬 화면 속 입력칸은 윈도우 프로그램의 칸이 아니라서 AHK의 일반 명령(ControlSetText)이 닿지 않습니다. 그래서 크롬을 원격 조종 단자(원격 디버깅 포트)를 연 채로 켜고, AHK가 그 단자로 "#empId 칸에 이 값을 넣어" 같은 명령을 보냅니다. 크롬이 공식으로 제공하는 통로(Chrome DevTools Protocol)이고, 외부 라이브러리 없이 윈도우에 기본으로 있는 WinHTTP로 연결합니다.
| ERP 화면 | 요소 id |
|---|---|
| 신규 사원 등록 | #empId #empName #deptCode #posCode #hireDate #locCode, 버튼 #btnRegister, 목록 #hrList |
| 거래처 등록 | #vName #vBizNo #vCeo #vKind #vItem #vAddr #vContact #vPhone, 버튼 #btnVendorSave |
| 상태줄 | #statusBar (클래스 .ok 완료, .error 오류, .busy 저장 중) |
| 팝업 | 세션 만료 #sessionModal.show + #btnRelogin, 중복 경고 #dupModal.show + #btnDupOk |
실습용 브라우저는 개인 크롬과 섞이지 않는 전용 프로필로 따로 뜨고, 단자는 이 PC 안(127.0.0.1)에서만 열립니다. 예전 자료에 많은 IE 방식은 IE가 퇴역해 쓰지 않습니다.
이야기는 날짜 순서였지만, 코드를 처음부터 만들어 본다면 아래 순서가 한 칸씩 쉽게 올라갑니다.
| 순서 | 사례 | 새로 익히는 것 |
|---|---|---|
| 1 | CASE 1 인사 | 단축키, 클립보드, 설정 파일(INI), 웹 칸에 값 넣기와 완료 확인, 멈춤과 이어하기 |
| 2 | CASE 3 재무회계 | 입력 창(GUI), 파일 이름 바꾸기·옮기기, 내용 비교, CSV 기록 |
| 3 | CASE 2 영업관리 | 엑셀 조종(COM), 열 이름으로 찾기, 숨은 행·수식, 결과 통합 문서 만들기 |
| 4 | CASE 4 경영지원 | 규칙으로 배정하기, 정규식으로 글 읽기, 정원 같은 상태 관리, 템플릿 문서 |
| 5 | CASE 5 구매 | 미리 보기(Dry Run), 여러 시스템을 잇는 단계 실행, 멈출 자리 설계 |
각 스크립트는 /auto를 붙여 실행하면 사람이 할 판단(코드 확인, 다시 로그인, 서류를 보고 고르기)을 대신 넣어 처음부터 끝까지 돕니다. 명령 프롬프트에서 AHK_코드 폴더로 이동한 뒤 실행합니다. 결과가 정답과 같은지 강사용 기대결과와 비교해 볼 수 있습니다.
AutoHotkey 문법은 AutoHotkey v1 공식 문서를 참고하세요.