엑셀 작업큐로 시작한 작은 RPA 운영 실험

소개

반복 업무를 파이썬으로 자동화하는 사례는 많지만, 자동화 스크립트가 여러 개로 늘어나면 새로운 문제가 생깁니다. 어떤 작업을 언제 실행해야 하는지, 정상적으로 끝났는지, 결과물을 누가 확인해야 하는지를 다시 사람이 관리해야 하기 때문입니다.

그래서 이번에는 개별 업무 하나를 자동화하기보다, 여러 자동화 작업을 엑셀에 등록하고 실행할 수 있는 작은 RPA 파일럿 패키지를 만들어 보았습니다. 거창한 시스템을 구축하기보다는, 평소 익숙하게 사용하는 엑셀과 윈도우 환경에서 실제로 작동하는 최소 기능을 구현하는 것이 목표였습니다.

진행 방법

ChatGPT를 활용해 rpa_pilot_package이라는 실행 패키지를 구성했습니다. 핵심 구조는 단순합니다.

  • RPA_Task_Queue.xlsx: 자동화할 업무와 실행 시점을 관리하는 작업 목록

  • run_due_tasks.py: 실행 시간이 된 작업을 찾아 실행하는 관리자

  • scripts 폴더: 실제 업무를 처리하는 파이썬 스크립트

  • input·output 폴더: 입력자료와 결과물 보관

  • Run_Log 시트: 실행 결과와 오류 기록

테스트 업무로는 월간 보고서 생성, 여러 엑셀 파일 병합, 주간 회의자료 PPT 생성, PDF 병합 등을 넣었습니다. 작업큐에서 사용 여부와 다음 실행 시간을 지정하면, 실행 관리자가 조건에 맞는 작업을 골라 실행합니다. 특정 작업만 수동으로 실행할 수도 있고, 윈도우 작업 스케줄러와 연결해 주기적으로 작업큐를 확인하도록 구성했습니다.

제가 ChatGPT에 요청한 대표 프롬프트를 정리하면 다음과 같습니다.

파이썬 초보자도 윈도우 PC에서 실행할 수 있는 RPA 파일럿 패키지를 만들어줘.

엑셀 파일을 작업큐로 사용하고, 작업 ID·작업명·사용 여부·실행 주기·다음 실행 시각·실행 명령어·상태·최근 실행 결과·오류 메시지를 관리할 수 있게 해줘.

실행 시간이 된 작업은 파이썬이 자동으로 찾아 실행하고, 결과는 엑셀 로그와 output 폴더에서 확인할 수 있게 해줘.

예시 업무로 월간 보고서 생성, 여러 엑셀 파일 병합, 주간 PPT 생성, PDF 병합을 포함해줘.

자동 생성된 결과물은 바로 공유하지 않고 담당자가 검증한 후 완료 처리하는 구조로 설계해줘.

설치 방법과 실행 방법을 초보자 관점에서 설명한 README와 배치파일도 함께 만들어줘.

ChatGPT가 한 번에 완성품을 만들어 준 것은 아닙니다. 생성된 파일을 직접 실행해 보고 오류가 발생하면 오류 메시지와 폴더 구조를 다시 보여주면서 수정 요청을 반복했습니다. 이 과정에서 단순히 “코드를 작성해 달라”고 하기보다, 입력자료·처리 과정·산출물·검증 절차를 구체적으로 알려주는 것이 중요했습니다.

[참고: 전체 구조]

run_due_tasks.py
        ↓
개별 업무 스크립트의 main()
        ↓
입력자료 검증
        ↓
업무 처리 및 산출물 생성
        ↓
RESULT_JSON 출력
        ↓
run_due_tasks.py가 결과 해석
        ↓
RPA_Task_Queue.xlsx 상태 및 로그 갱신

[참고: run_due_tasks.py 실행 순서]

1. 실행 인자 확인
2. Excel 작업큐 파일 존재 여부 확인
3. 중복 실행 방지용 잠금 획득
4. Excel 작업큐 파일 백업
5. Excel 작업큐 읽기
6. 실행 대상 작업 선별
7. 작업 상태를 `실행중`으로 변경
8. 허용된 Python 스크립트인지 검증
9. 개별 업무 스크립트 실행
10. 스크립트 실행 결과 해석
11. 작업 상태와 다음 실행일 갱신
12. `Run_Log` 시트에 실행이력 기록
13. Excel 작업큐 안전 저장
14. 잠금 해제

[캡처: RPA_Task_Queue.xlsx의 작업 목록 화면]

대시보드

한자가 포함된 Excel 스프레드시트의 스크린샷

작업큐

다양한 유형의 데이터를 보여주는 스프레드시트의 스크린샷

실행로그

다양한 유형의 데이터를 보여주는 스프레드시트의 스크린샷

결과와 배운 점

이번 실험을 통해 여러 개의 자동화 스크립트를 하나의 엑셀 작업큐에서 관리하고 실행하는 최소 구조를 만들 수 있었습니다. 특히 자동화의 핵심이 코드를 작성하는 데만 있는 것이 아니라, “무슨 작업을 언제 실행하고, 결과를 어디에 남기며, 누가 확인할 것인가”를 함께 설계하는 데 있다는 점을 배웠습니다.

나만의 팁은 처음부터 복잡한 플랫폼을 만들려고 하지 않는 것입니다. 익숙한 엑셀을 작업 목록으로 사용하고, 실제 업무와 비슷한 작은 예제를 넣어 직접 실행해 보면 필요한 기능이 더 잘 보입니다. 또한 ChatGPT가 만든 결과물도 반드시 직접 실행하고 확인해야 합니다.

시행착오도 있었습니다. 경로, 파일명, 실행 환경에 따라 예상하지 못한 오류가 발생했고, 자동화가 성공했다고 표시되어도 결과물이 제대로 만들어졌는지 별도의 확인이 필요했습니다. 그래서 “RPA는 산출물 생성까지 담당하고, 최종 공유는 담당자 검증 이후에 한다”는 원칙을 두었습니다.

다음에는 이번 패키지를 실제 윈도우 환경에서 더 안정적으로 실행할 수 있도록 기능을 보완하고, Streamlit을 이용하여 웹 인터페이스로 변환할 계획입니다.

도움 받은 글

별도의 외부 사례보다는 ChatGPT와 대화하며 구조를 설계하고, 생성된 파일을 직접 실행·수정하는 방식으로 진행했습니다.

2
1개의 답글
밀어주고 끌어주는

온·오프라인 AI 스터디

AI로 어디까지 할 수 있는지
직접 확인하실 분만 신청하세요.