충북대 · 생성형 AI 실습 · 과정1

CHUNGBUK NATIONAL UNIVERSITY · COURSE 1

생성형 AI 활용
업무효율화 실습 심화교육

보고서·공문·규정은 한글로, 집계·매크로는 엑셀로 — 이틀 만에 손에 익힙니다.

  • 과정과정1 · 클로드 + HWPX + 엑셀 VBA
  • 일시2026. 7. 15.(수) ~ 7. 16.(목) 각 10:00~17:00
  • 장소PC 전산실습실 · 1인 1PC
  • 강사이신우
  • 대상충북대학교 교직원 · 40명

슬라이드 안의 모든 프롬프트·코드에는 복사 버튼이 있습니다. 받아치지 마십시오.

02 / 시작 전 체크

10:00 이전에 여섯 가지만 확인해 주십시오

이 여섯 가지가 준비되지 않으면 첫 실습에서 멈춥니다. 체크 상태는 이 브라우저에 저장되므로, 쉬는 시간에 다시 열어도 그대로 남아 있습니다.

교육 당일이 아니라 미리 한 번 로그인해 와 주십시오. 수강 인원이 40명이라, 현장에서 처음 로그인하면 첫 교시(50분)가 통째로 사라집니다. 특히 개신누리 비밀번호를 최근에 바꾸셨다면 5~10분 대기가 필요합니다.

교내 플랫폼 · 우선 사용

충북대학교 생성형 AI 플랫폼

개신누리 계정(SSO)으로 로그인 · GPT · Claude · Gemini를 한 화면에서 선택해 사용 · 별도 가입 불필요.
실습 프롬프트는 교내 플랫폼과 개인 클로드(claude.ai) 어느 쪽에서도 그대로 동작합니다. 둘 다 준비해 두시면 한쪽이 막혀도 실습이 멈추지 않습니다.

사용량 기반 크레딧으로 운영됩니다. 잔량은 화면 우측 상단에서 확인하십시오. 월 그룹 크레딧은 소속 신분 그룹 전체가 공유하며 매월 1일 리셋됩니다.

  • aigpt.cbnu.ac.kr에 개신누리 계정으로 로그인되어야 합니다. 아래 클로드 계정과 택일이 아니라 둘 다 준비해 주십시오.
    확인 방법
    1. Chrome 또는 Edge에서 aigpt.cbnu.ac.kr/dashboard 접속
    2. 개신누리 계정(SSO)으로 로그인합니다. 별도 가입은 필요 없고, 신분(교원·직원 등)은 자동 연동됩니다.
    3. 새 대화창에 안녕하세요를 보내 응답이 오면 완료입니다.

    로그인이 안 될 때

    • 개신누리 비밀번호를 방금 변경했다면 → 5~10분 후 다시 시도하십시오.
    • 신분이 변경(졸업·소속 변경)된 직후라면 → 학내 시스템 반영에 1~2일이 걸립니다.
    • 그래도 안 되면 학내 운영/IT 담당 부서에 문의하십시오.
  • 교육 중 크레딧이 소진되면 실습이 멈춥니다. 시작 전에 잔량을 눈으로 확인해 두십시오.
    확인 방법
    1. 플랫폼 로그인 후 우측 상단에서 크레딧 잔량을 확인합니다.
    2. 월 그룹 크레딧은 소속 신분 그룹 전체가 공유합니다. 매월 1일 리셋됩니다.
    3. 소모가 큰 기능을 알아 둡니다 — PPT 생성 1장 = 50크레딧, Super Agent는 단일 모델보다 소모가 큽니다.

    매뉴얼도 "연구실·강의 실습 등 대량 사용 전에는 사용량을 미리 점검하세요"라고 안내합니다. 40명이 동시에 실습하면 그룹 크레딧이 빠르게 줄어들 수 있으므로, 교육 담당 부서에서 사전 점검을 부탁드립니다.

    실습 중 소진되면 강사에게 즉시 알려 주십시오. 개인 클로드 계정으로 전환하거나 짝 실습으로 바꿔 진행합니다.

  • claude.ai 에 로그인된 상태로 대화창이 열려야 합니다. 교내 플랫폼이 막히거나 크레딧이 소진될 때 바로 갈아탈 수 있는 백업입니다.
    확인 방법
    1. 브라우저에서 claude.ai 접속
    2. 로그인 후 새 대화창에 안녕하세요를 보내 응답이 오는지 확인
    3. 응답이 오면 완료입니다. 이 탭은 이틀 내내 열어 둡니다.

    계정이 없다면 교육 전에 미리 만들어 오십시오. 오리엔테이션 20분은 확인만 하는 시간이며, 미가입자는 옆자리와 한 화면으로 진행하고 휴식시간에 강사가 따로 도와드립니다.

  • 아래 ⑤에서 받은 공문_템플릿.hwpx가 한글에서 열려야 합니다.
    확인 방법
    1. 아래 ⑤ 실습 자료에서 공문_템플릿.hwpx를 내려받습니다.
    2. 파일을 더블클릭하거나, 한글 실행 후 파일 → 불러오기로 엽니다.
    3. 문서 안에 {{수신}} 같은 빈칸 표시가 8개 보이면 정상입니다.

    열리지 않는다면 한글 버전이 .hwpx를 지원하지 않는 것입니다. 오리엔테이션 때 알려 주십시오.

  • 1일차 5교시(15:00) HWPX 모듈에서 hwpx_fill.py를 실행합니다. 파이썬이 없으면 무설치 hwpx_fill.exe로 대체합니다.
    확인 방법

    ※ 전산실 담당자께 · 사전 설치 요청
    이 교육은 1일차 5교시(15:00)에 python hwpx_fill.py를 각 PC에서 실행합니다. 교육 2주 전까지 전산실 담당자에게 전 좌석 Python 3.10+ 설치(설치 시 "Add python.exe to PATH" 체크)를 요청해 주십시오. 실습실 PC는 관리자 권한이 잠겨 있어 교육 당일 현장 설치는 불가능합니다. 오리엔테이션 50분으로는 25대를 설치할 수 없습니다.

    1. 키보드에서 Win + Rcmd → Enter
    2. 검은 창에 python --version 입력 후 Enter
    3. Python 3.x.x 처럼 버전이 나오면 완료입니다.

    'python'은(는) 내부 또는 외부 명령이 아닙니다가 나오면 설치되지 않았거나 PATH에 없는 것입니다. py --version도 함께 시도해 보십시오.

    둘 다 안 되어도 실습은 그대로 진행합니다. 파이썬 설치 없이 단독 실행되는 hwpx_fill.exe를 함께 배포합니다. 실습 폴더에 내려받아 두고, 명령에서 python hwpx_fill.pyhwpx_fill.exe로 바꾸기만 하면 됩니다.

    hwpx_fill.exe 공문_템플릿.hwpx 완성본.hwpx --json 값.json

  • 공문_템플릿.hwpx · 보고서_템플릿.hwpx · hwpx_fill.py · 출장비_원본.xlsx · 예시_규정조문.txt
    확인 방법
    1. ⑤ 실습 자료 다운로드에서 필수 5개를 받습니다 — 공문_템플릿.hwpx · 보고서_템플릿.hwpx · hwpx_fill.py · 출장비_원본.xlsx · 예시_규정조문.txt.
    2. 바탕화면에 충북대AI실습 폴더를 만들고 한 곳에 모아 둡니다. 폴더 안에 파일 5개가 보이면 통과입니다.
    3. hwpx_fill.py.hwpx 템플릿이 같은 폴더에 있어야 명령이 짧아집니다.

    나머지 3개는 필수가 아닙니다. hwpx_fill.exe파이썬이 없는 PC만 추가로 받습니다. 자동화_적용계획표.xlsx2일차 M11에 그 자리에서 받습니다. 정답_VBA코드.bas2일차 예비용입니다.

    매크로 파일(.xlsm)은 배포하지 않습니다. 이유는 아래 ⑤에 적어 두었습니다.

준비 완료 0 / 6

⚠ 예외 없음 · 접을 수 없습니다

AI에 절대 입력하지 않습니다

교육 중 사용하는 모든 예시는 가공된 값입니다. 실제 업무 데이터를 그대로 붙여넣지 마십시오.

입력 금지 3종

  • 개인정보 — 주민등록번호, 학번, 연락처, 계좌번호, 주소
  • 대외비·비공개 문서의 원문 — 내부 결재 문서, 미공개 회의록
  • 미공개 인사·예산 정보 — 확정 전 인사안, 미확정 예산 배정

대신 이렇게 합니다

  • 실명 → 김OO
  • 부서 → A부서
  • 금액 → 규모만 유지한 가짜 숫자 (예: 실제 1,430만 원 → 1,500만 원)

교내 플랫폼의 '개인정보 자동 차단'을 오해하지 마십시오

충북대 AI 플랫폼은 주민등록번호 · 신용카드번호 · 여권번호 · 운전면허번호 · 생년월일 · 전화번호 · 이메일이 포함된 파일의 업로드를 자동으로 차단합니다. 그러나 자동 차단이 있다고 해서 대외비 문서를 올려도 된다는 뜻은 아닙니다. 차단은 개인정보 '패턴'을 걸러내는 것이지, 그 문서의 비밀 등급을 판단해 주지 않습니다. 미공개 결재 문서 · 미확정 인사·예산안은 패턴에 걸리지 않아 그대로 올라갑니다.
실습은 교내 플랫폼에서도, 개인 계정에서도 똑같이 비식별 자료로만 진행합니다.

AI는 형식과 문장을 만들어 주는 도구이지, 진짜 데이터를 넘길 상대가 아닙니다.
초안을 받은 뒤 실제 값은 한글에서 직접 채워 넣으십시오.

04 / 커리큘럼

이틀 · 12개 모듈 · 산출물 중심

모듈마다 손에 남는 산출물이 하나씩 있습니다. 각 모듈의 슬라이드 링크를 누르면 해당 지점에서 바로 시작합니다. 이론은 전체의 20% 이하이며, 나머지는 전부 따라 하는 시간입니다.

운영 방식 · 하루 6교시, 50분 수업 + 10분 휴식으로 진행합니다. 점심은 12:00~13:00, 매일 16:50~17:00은 Q&A·정리 시간입니다.

1일차 7. 15.(수) 10:00–17:00 슬라이드 열기 ▶
  • 1교시 · 10:00–10:50M0 · 오리엔테이션 · 환경 설정 (보안 수칙)
    산출물 · 실습 환경 준비 · 첫 프롬프트 체험
  • 휴식 10분 10:50–11:00 · 11:00에 2교시를 시작합니다
  • 2교시 · 11:00–11:50M1 · 업무 문서용 프롬프트 기초
    산출물 · 보고서 초안 1건
  • 휴식 10분 11:50–12:00
  • 점심 12:00–13:00 · 13:00에 3교시를 시작합니다
  • 3교시 · 13:00–13:50M2 · 클로드로 공문 초안 작성
    산출물 · 공문 초안
  • 휴식 10분 13:50–14:00 · 14:00에 4교시를 시작합니다
  • 4교시 · 14:00–14:50M3 · 법제 — 규정·지침 초안 (신·구조문대비표)
    산출물 · 규정 개정안 초안
  • 휴식 10분 14:50–15:00 · 15:00에 5교시를 시작합니다
  • 5교시 · 15:00–15:50M4 · HWPX 한글문서 작성 / 변환
    산출물 · .hwpx 보고서 초안
  • 휴식 10분 15:50–16:00 · 16:00에 6교시를 시작합니다
  • 6교시 · 16:00–16:50M5 · 산출물 검수 · 교정 & 정리
    산출물 · 최종 .hwpx 보고서
  • 마무리 16:50–17:00 · Q&A · 정리
2일차 7. 16.(목) 10:00–17:00 슬라이드 열기 ▶
05 / 실습 자료

실습 파일 내려받기

바탕화면에 충북대AI실습 폴더를 하나 만들고, 아래 파일을 모두 같은 폴더에 넣어 두십시오. 그래야 python hwpx_fill.py … 명령이 짧아집니다.

  • PDF · 교내 플랫폼 생성형 AI 플랫폼 매뉴얼.pdf 충북대학교 생성형 AI 플랫폼(aigpt.cbnu.ac.kr) 공식 매뉴얼. 개신누리 SSO 로그인 · 모델 선택 · 파일 첨부 · 크레딧 · Law in Data(법령 검색) · 딥리서치 · 스튜디오 사용법이 들어 있습니다. 열기 ↗
  • XLSX 출장비_원본.xlsx 2일차 실습 데이터. 함정 5종이 일부러 심어져 있습니다 — 중복행 2건 / '국내출장'·'국내 출장' 표기 불일치 / '총무과 ' 후행 공백 / 텍스트형 숫자("143,000") / 날짜 형식 혼재. 내려받기
  • HWPX 공문_템플릿.hwpx 한글 서식이 이미 잡힌 공문 템플릿. 빈칸 8개 — 수신 / 제목 / 관련근거 / 본문 / 교육명 / 일시 / 장소 / 붙임. 내려받기
  • HWPX 보고서_템플릿.hwpx 보고서 템플릿. 빈칸 14개 — 제목·작성일·작성부서·배경·주요내용·표 항목·합계·향후계획. 내려받기
  • PY hwpx_fill.py 템플릿의 빈칸을 JSON 값으로 치환하는 도구. 치환 후 줄 배치 캐시를 제거하므로 긴 문장이 겹쳐 찍히지 않습니다. 내려받기
  • TXT 예시_규정조문.txt 1일차 M3(4교시 14:00) 규정 개정 실습에 붙여넣는 예시 현행 조문 + 개정 취지. 실제 규정이 아니라 실습용 가상 조문입니다 — 비공개 규정 원문을 넣지 않아도 실습이 그대로 진행됩니다. 슬라이드의 복사 버튼으로도 같은 내용을 바로 복사할 수 있습니다. 내려받기
  • EXE · 무설치 hwpx_fill.exe 파이썬이 설치되지 않은 PC용. 위 hwpx_fill.py와 기능이 같고 설치가 필요 없습니다. 같은 폴더에 두고 hwpx_fill.exe 공문_템플릿.hwpx 완성본.hwpx --json 값.json 으로 실행하십시오(명령에서 python만 빼면 됩니다). 파이썬이 정상 동작하면 이 파일은 받지 않아도 됩니다. 내려받기
  • XLSX 자동화_적용계획표.xlsx 2일차 마지막 모듈(6교시 16:00) 산출물 양식. 교육이 끝나고 자리에 돌아가서 채우는 표입니다. 내려받기
  • BAS · 강사 배포 정답_VBA코드.bas 2일차 매크로 정답 코드(텍스트). 먼저 직접 만들어 본 뒤 열어 보십시오. 아래 ⑥에 전문이 복사 버튼과 함께 실려 있습니다. 내려받기

⛔ 매크로 파일(.xlsm)은 배포하지 않습니다 — 실수가 아니라 설계입니다

Office는 인터넷에서 내려받은 파일의 매크로를 기본 차단합니다(Mark of the Web). 저희가 완성된 .xlsm을 올려 두어도, 여러분 PC에서는 "매크로를 사용할 수 없도록 차단했습니다"라는 붉은 띠만 뜨고 아무것도 실행되지 않습니다.

그래서 이렇게 합니다 — 매크로가 없는 .xlsx를 받아 열고, AI가 만들어 준 VBA를 직접 붙여넣어 실행한 뒤, 여러분이 직접 .xlsm으로 저장합니다. 이 과정 자체가 2일차 3교시(13:00) 모듈의 학습 목표입니다. 자기 손으로 저장한 파일에는 차단이 걸리지 않습니다.

06 / 프롬프트 라이브러리

교육이 끝난 뒤에도 계속 쓰는 유일한 자산

각 프롬프트의 [대괄호] 부분만 본인 업무에 맞게 바꿔 쓰십시오. 모든 블록에 복사 버튼이 있습니다. 받아치지 마십시오.

프롬프트 라이브러리 전용 페이지 열기 ↗

0 · 시작 전

0 보안 수칙 — 붙여넣기 전 스스로에게 던지는 질문 예외 없음

AI 대화창에 무언가 붙여넣기 직전, 아래 문장을 소리 내지 않고 읽으십시오. 이 습관 하나가 사고를 막습니다.

체크 문장
지금 붙여넣으려는 이 글에

  1) 주민등록번호 · 학번 · 연락처 · 계좌번호가 들어 있는가?
  2) 대외비 · 비공개 문서의 원문이 들어 있는가?
  3) 미공개 인사 · 예산 정보가 들어 있는가?

하나라도 '예'라면 붙여넣지 않는다.
  실명 → 김OO
  부서 → A부서
  금액 → 규모만 유지한 가짜 숫자

실제 값은 한글에서 직접 채워 넣는다.

AI는 형식과 문장을 만들어 주는 도구입니다. 진짜 데이터를 넘길 상대가 아닙니다.

1 · 뼈대

1 모든 업무 프롬프트의 4요소 1일차 2교시 11:00

좋은 프롬프트는 창의력이 아니라 빠짐없이 말하기입니다. 아래 네 가지가 들어가면 결과가 달라집니다.

요소안 넣으면 생기는 일예시
역할일반인 말투가 나옴"당신은 국립대학교 총무과에서 15년간 공문을 작성해 온 행정직원입니다."
맥락엉뚱한 내용을 지어냄"우리 대학은 7월에 교직원 대상 AI 교육을 2회 실시합니다."
형식형식이 매번 달라짐"공문 형식으로: 수신 / 제목 / 1. 관련 / 2. 본문 / 붙임 / 끝."
제약길고 과장된 글이 나옴"각 항목 2문장 이내. 과장 표현 금지. 확실하지 않은 사실은 [확인필요]로 표시."
✕ 나쁜 프롬프트
교육 공문 좀 써줘
✓ 좋은 프롬프트
당신은 국립대학교 총무과에서 공문을 작성해 온 행정직원입니다.

[상황]
- 교직원 대상 생성형 AI 실습교육을 실시합니다.
- 일시: 2026. 7. 15.(수) ~ 7. 16.(목), 10:00~17:00
- 장소: 개신캠퍼스 전산실습실
- 대상: 교직원 및 행정업무 담당자 40명 내외
- 목적: 각 부서에서 참석자를 추천받기 위함

[형식] 다음 순서를 지켜 주십시오.
  수신 / 제목 / 1. 관련 / 2. 본문(추천 요청) / 가~라 세부사항 / 붙임 / 끝.

[제약]
- 공문 투의 간결한 문어체. "~하시기 바랍니다" 체.
- 본문은 3문장 이내.
- 관련 근거 문서번호는 제가 채울 수 있게 [관련근거]로 비워 두십시오.

2 · 1일차 — 보고서 · 공문 · 규정

2-1 보고서 초안 1일차 2교시 11:00
프롬프트
당신은 국립대학교 [소속부서]의 행정직원입니다.

[보고 목적] [무엇을 왜 보고하는지 1문장]
[핵심 사실]
  - [사실 1]
  - [사실 2]
  - [숫자 데이터가 있으면 여기에]

[형식]
  Ⅰ. 추진 배경
  Ⅱ. 주요 내용
  Ⅲ. 세부 현황 (표로)
  Ⅳ. 향후 계획

[제약]
- 각 항목 3문장 이내, 개조식(~함, ~임).
- 제가 준 사실만 사용하십시오. 없는 내용을 지어내지 마십시오.
- 추가로 확인이 필요한 항목은 [확인필요]로 표시해 주십시오.

[확인필요] 표시를 요구하는 것이 핵심입니다. AI는 모르는 것도 그럴듯하게 지어냅니다. 지어내는 대신 표시하도록 시키면, 검수할 곳이 어디인지 AI가 알려주게 됩니다.

2-2 공문 초안 1일차 3교시 13:00
프롬프트
당신은 국립대학교 총무과에서 15년간 공문을 작성해 온 행정직원입니다.

[상황]
  - 발신: [부서명]
  - 수신: [수신처]
  - 용건: [무엇을 요청/알리는지]
  - 근거: [관련 문서나 규정, 없으면 "없음"]
  - 기한: [회신 기한이 있으면]

[형식] 대한민국 행정 공문 서식
  수신 / (경유) / 제목 / 1. 관련 / 2. 본문 / 가·나·다 세부사항 / 붙임 / 끝.

[제약]
- 제목은 25자 내외, 명사형으로 끝냅니다. (예: "~ 실시 알림")
- 본문은 "~하시기 바랍니다" 체.
- 미사여구 없이 사실만.
2-3 규정·지침 개정 + 신·구조문대비표 1일차 4교시 14:00 · 법제 모듈
프롬프트
당신은 국립대학교 법무·규정 담당자입니다.

[현행 조문]
[여기에 현재 규정 조문을 그대로 붙여넣기]

[개정 취지]
[무엇을 왜 바꾸려는지]

[요청]
1. 개정안 조문을 작성하십시오.
2. 신·구조문대비표를 표로 만드십시오. (왼쪽=현행, 오른쪽=개정안)
   - 새로 넣는 조항은 현행란에 <신 설>이라고 적으십시오.
   - 조항 번호가 밀리면 그것도 대비표에 반영하십시오.
3. 개정이유를 3문장 이내로 작성하십시오.

[제약]
- 현행 조문에 없는 내용을 임의로 추가하지 마십시오.
- 법령 조문을 인용할 때는 [법령확인]이라고 표시하십시오. 제가 직접 확인하겠습니다.

법령 인용은 반드시 사람이 확인합니다. AI는 존재하지 않는 조문 번호를 만들어내는 일이 잦습니다. 이 프롬프트가 [법령확인] 표시를 강제하는 이유입니다.

2-4 HWPX 채우기 — 내용(JSON) 추출 1일차 5교시 15:00

AI에게 .hwpx 파일을 통째로 만들라고 하지 않습니다. 통째로 만들면 열리기는 하나 제목 정렬·굵기가 없고 표가 뭉개져 결재에 올릴 수 없습니다. 서식은 템플릿이, 내용은 AI가 맡는 2단계로 갑니다.

① 프롬프트 — JSON만 받는다
아래 빈칸에 들어갈 값을 JSON으로만 출력하십시오. 설명은 붙이지 마십시오.

[빈칸 목록]
수신, 제목, 관련근거, 본문, 교육명, 일시, 장소, 붙임

[내용]
[여기에 앞에서 만든 공문 초안을 붙여넣기]

[출력 형식]
{"수신": "...", "제목": "...", ...}
② 명령 — 받은 JSON을 값.json 으로 저장한 뒤
python hwpx_fill.py 공문_템플릿.hwpx 완성본.hwpx --json 값.json

이 도구는 치환 후 줄 배치 캐시를 반드시 제거합니다. HWPX는 문단별 줄배치를 파일 안에 캐시해 둡니다. 텍스트만 바꾸고 캐시를 남겨 두면 긴 문장이 한 줄에 겹쳐 찍힙니다. 직접 스크립트를 만들 때도 이 처리를 빼면 안 됩니다.

2-5 검수 — 가장 중요한 프롬프트 1일차 6교시 16:00
프롬프트
아래 문서를 검수해 주십시오. 고쳐 쓰지 말고, 문제점만 목록으로 지적하십시오.

[검수 항목]
1. 사실관계: 근거 없이 단정한 문장
2. 숫자: 합계가 맞지 않거나 단위가 빠진 곳
3. 법령·규정 인용: 실제로 존재하는지 확인이 필요한 부분
4. 문체: 공문 투에 맞지 않는 구어체·미사여구
5. 형식: 빠진 항목 (붙임, 끝 표시 등)

[문서]
[여기에 붙여넣기]

그리고 사람이 직접 확인합니다. ☐ 숫자와 날짜를 원본과 대조했는가 · ☐ 인용한 규정·법령이 실제로 존재하는가 · ☐ 개인정보가 남아 있지 않은가 · ☐ 결재선·수신처가 맞는가 — AI는 초안까지입니다. 판단과 책임은 사람에게 있습니다.

3 · 2일차 — 엑셀 · 매크로 · 데이터

3-1 어려운 수식 2일차 2교시 11:00

수식을 못 짜겠을 때, AI에게 데이터 구조를 설명하는 것이 핵심입니다.

프롬프트
엑셀 수식을 만들어 주십시오.

[데이터 구조]
- 시트명: 원본
- A열: 부서 (A2:A13)
- B열: 성명
- C열: 구분 (국내출장 / 국외출장)
- D열: 집행일
- E열: 금액

[구하려는 것]
[예: 부서별 국내출장 금액 합계]

[주의할 점]
- 부서명 뒤에 공백이 붙은 데이터가 있습니다. (예: "총무과 ")
- 구분이 "국내출장"과 "국내 출장"으로 섞여 있습니다.
- 위 두 가지를 수식에서 흡수해 주십시오.

[요청]
1. 수식을 주십시오.
2. 각 부분이 무슨 일을 하는지 한 줄씩 설명해 주십시오.
3. 이 수식이 틀릴 수 있는 상황도 알려 주십시오.

3번을 꼭 넣으십시오. "이 수식이 언제 틀리는가"를 물으면 AI가 스스로 한계를 말해줍니다.

3-2 VBA 매크로 자동 생성 2일차 3교시 13:00
프롬프트
엑셀 VBA 매크로를 만들어 주십시오.

[현재 상황]
- 시트 "원본"에 A~E열로 데이터가 있습니다. (부서/성명/구분/집행일/금액)
- 1행은 머리글입니다.

[하고 싶은 일]
[예: 부서별로 시트를 나누고, 각 시트의 머리글을 굵게 + 배경색 적용]

[반드시 지켜야 할 조건]
1. MsgBox를 쓰지 마십시오. 실행이 멈춥니다.
2. 여러 번 실행해도 오류가 나지 않아야 합니다.
   (기존에 만든 시트가 있으면 먼저 지우고 다시 만드십시오)
   기존 시트를 지울 때는 For Each가 아니라
   뒤에서부터 인덱스로 도는 루프를 쓰십시오.
3. 코드에 한글 주석을 달아 주십시오.
4. 부서명은 Trim()으로 앞뒤 공백을 제거한 뒤 시트 이름으로 쓰십시오.
   ("총무과 "와 "총무과"가 같은 시트로 가야 합니다)

조건 1·2는 실제로 겪은 문제입니다. MsgBox가 있으면 대화상자에서 멈추고, 재실행 방어가 없으면 두 번째 실행에서 "이미 있는 시트 이름" 오류로 죽습니다.

실행: Alt+F11 → 삽입 → 모듈 → 코드 붙여넣기 → F5  ·  저장: 파일 형식을 Excel 매크로 사용 통합 문서(.xlsm)로 저장해야 매크로가 보존됩니다.

3-2 · 정답 정답 VBA 코드 — 먼저 직접 만들어 본 뒤에 여십시오 2일차 3교시 13:00
VBA · 부서별 시트분리 + 서식적용
Sub 부서별_시트분리_및_서식적용()
    ' 원본 시트를 부서별로 분리하고 서식을 일괄 적용한다.
    ' 부서명 앞뒤 공백은 Trim으로 흡수한다 ('총무과 ' → '총무과')
    Dim ws As Worksheet, dst As Worksheet
    Dim lastRow As Long, i As Long, k As Long
    Dim dept As String
    Dim seen As Object
    Set seen = CreateObject("Scripting.Dictionary")

    Set ws = ThisWorkbook.Worksheets("원본")

    Application.ScreenUpdating = False
    Application.DisplayAlerts = False

    ' [재실행 안전장치] 원본 외의 기존 부서 시트를 먼저 정리한다.
    ' 반드시 뒤에서 앞으로(Step -1) 지운다. For Each로 순회하며 지우면
    ' 컬렉션이 줄어들면서 열거자가 항목을 건너뛸 수 있다.
    For k = ThisWorkbook.Worksheets.Count To 1 Step -1
        If ThisWorkbook.Worksheets(k).Name <> "원본" Then
            ThisWorkbook.Worksheets(k).Delete
        End If
    Next k

    lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row

    For i = 2 To lastRow
        dept = Trim(ws.Cells(i, 1).Value)
        If dept <> "" Then
            If Not seen.Exists(dept) Then
                Set dst = ThisWorkbook.Worksheets.Add( _
                    After:=ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count))
                dst.Name = dept
                ' 행 전체가 아니라 A~E 범위만 복사한다 (불필요한 서식 전파 방지)
                ws.Range("A1:E1").Copy dst.Range("A1")
                dst.Rows(1).Font.Bold = True
                dst.Rows(1).Interior.Color = RGB(220, 230, 245)
                seen.Add dept, 2
            Else
                Set dst = ThisWorkbook.Worksheets(dept)
            End If
            ws.Range(ws.Cells(i, 1), ws.Cells(i, 5)).Copy dst.Cells(seen(dept), 1)
            seen(dept) = seen(dept) + 1
        End If
    Next i

    For Each dst In ThisWorkbook.Worksheets
        dst.Columns("A:E").AutoFit
        dst.Columns("E").NumberFormat = "#,##0"
    Next dst

    ws.Activate
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub
VBA · 중복행 제거 (4교시 데이터 정리)
Sub 중복행_제거()
    ' 부서·성명·구분·집행일·금액이 모두 같은 행을 중복으로 보고 제거한다.
    ' 주의: 제거 전에 합계가 얼마였는지 먼저 확인한다.
    '       중복 때문에 부풀려진 금액이 줄어드는 것을 눈으로 보는 것이 학습 포인트다.
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Worksheets("원본")
    Application.DisplayAlerts = False
    ws.Range("A1").CurrentRegion.RemoveDuplicates _
        Columns:=Array(1, 2, 3, 4, 5), Header:=xlYes
    Application.DisplayAlerts = True
End Sub

설계 원칙 2가지 — ① MsgBox를 쓰지 않는다(모달 대화상자는 실행을 멈춰 세운다. 결과가 새 시트로 눈에 보이므로 알림이 필요 없다). ② 여러 번 실행해도 안전해야 한다(기존 시트를 먼저 지운다).

3-3 데이터 정리 — 진단부터 시킨다 2일차 4교시 14:00
프롬프트
엑셀 데이터를 정리하려고 합니다. 무엇이 문제인지 먼저 진단해 주십시오.

[데이터 샘플]
[A1:E13 전체를 복사해 붙여넣기]

[요청]
1. 이 데이터에서 집계를 방해할 문제점을 모두 찾아 주십시오.
   (중복, 표기 불일치, 공백, 텍스트형 숫자, 날짜 형식 혼재 등)
2. 각 문제를 고치는 방법을 알려 주십시오. (수식 / 기능 / 매크로 중 가장 간단한 것)
3. 고치기 전과 후에 합계가 어떻게 달라지는지 확인하는 방법도 알려 주십시오.

3번이 학습의 핵심입니다. 중복 2건을 지우면 합계가 실제로 줄어듭니다. 그 차이를 눈으로 보는 것이 "데이터 정리를 왜 하는가"에 대한 유일한 설득입니다.

3-4 데이터 → 보고서 (종합 실습) 2일차 5교시 15:00

1일차와 2일차를 잇는 마지막 실습입니다. 엑셀에서 만든 집계표가 그대로 .hwpx 보고서가 됩니다.

① 프롬프트
아래 엑셀 집계 결과를 보고서 본문으로 바꿔 주십시오.

[집계 결과]
[엑셀에서 복사한 표를 붙여넣기]

[요청]
Ⅰ. 추진 배경 / Ⅱ. 주요 내용 / Ⅲ. 세부 현황 / Ⅳ. 향후 계획 순서로 작성하고,
마지막에 아래 빈칸에 들어갈 값을 JSON으로 출력하십시오.

[빈칸] 보고서제목, 작성일, 작성부서, 배경, 주요내용,
       항목1, 건수1, 금액1, 항목2, 건수2, 금액2, 건수합계, 금액합계, 향후계획

[제약]
- 숫자는 제가 준 집계 결과에서만 가져오십시오. 계산을 새로 하지 마십시오.
- 금액은 천 단위 쉼표를 넣어 주십시오.
- 부서가 3개 이상이면 금액 상위 2개 부서를 항목1·항목2에 넣고,
  나머지는 합산해 본문 Ⅲ. 세부 현황에 문장으로 서술하십시오.
  JSON 키는 정확히 14개만 출력하십시오.
② 명령
python hwpx_fill.py 보고서_템플릿.hwpx 최종보고서.hwpx --json 보고서값.json
07 / 트러블슈팅

여기서 막힙니다 — 증상 · 원인 · 해법

손 들기 전에 먼저 여기를 보십시오. 이틀 동안 실제로 발생하는 지점만 모았습니다.

충북대 AI 플랫폼(aigpt.cbnu.ac.kr) 로그인이 안 됩니다
증상

개신누리 계정을 넣어도 로그인되지 않거나, 로그인 후 다시 로그인 화면으로 돌아옵니다.

원인

주로 세 가지입니다. ① 개신누리 비밀번호를 방금 변경했다. ② 신분이 변경(졸업·소속 변경)된 직후다. ③ 그 밖의 계정 연동 문제.

해법

① 비밀번호 변경 직후라면 5~10분 기다렸다가 다시 시도하십시오. ② 신분 변경 직후라면 학내 시스템 반영에 1~2일이 걸립니다. ③ 그래도 안 되면 학내 운영/IT 담당 부서에 문의하십시오. 브라우저는 Chrome 또는 Edge를 쓰십시오. 실습은 기다리지 말고 개인 클로드 계정으로 그대로 진행하면 됩니다 — 프롬프트는 양쪽에서 동일하게 동작합니다.

크레딧이 소진되어 응답이 나오지 않습니다
증상

플랫폼에서 질문을 보내도 응답이 오지 않거나, 크레딧 부족 안내가 뜹니다.

원인

플랫폼은 사용량 기반 크레딧으로 운영되며, 월 그룹 크레딧은 소속 신분 그룹 전체가 공유합니다. 여러 명이 동시에 실습하거나 PPT 생성(1장 50크레딧)·Super Agent처럼 소모가 큰 기능을 쓰면 빠르게 줄어듭니다.

해법

혼자 해결하려 하지 말고 강사에게 즉시 알려 주십시오. 그 자리에서 ① 개인 클로드 계정으로 전환하거나, ② 짝 실습(2인 1PC)으로 전환해 진행합니다. 잔량은 화면 우측 상단에서 확인할 수 있고, 월 크레딧은 매월 1일 리셋됩니다.

플랫폼에 파일을 올리려는데 업로드가 막힙니다
증상

PDF·한글·엑셀 파일을 첨부하려는데 업로드가 거부됩니다.

원인

개인정보 자동 차단입니다. 주민등록번호 · 신용카드번호 · 여권번호 · 운전면허번호 · 생년월일 · 전화번호 · 이메일이 들어 있는 파일은 업로드가 자동으로 차단될 수 있습니다.

해법

차단을 우회하려 하지 말고, 해당 개인정보를 지우거나 가공한 뒤 다시 올리십시오(실명 → 김OO, 연락처·이메일 삭제). 애초에 실습에는 비식별 자료만 씁니다. 그리고 자동 차단이 통과시켰다고 해서 안전한 문서라는 뜻은 아닙니다 — 차단은 개인정보 '패턴'만 볼 뿐, 문서의 대외비 여부는 판단하지 않습니다.

엑셀에서 "매크로를 사용할 수 없도록 차단했습니다" 붉은 띠가 뜹니다
증상

파일을 열면 노란/붉은 경고 띠가 뜨고, Alt+F8을 눌러도 매크로 목록이 비어 있거나 실행되지 않습니다.

원인

Mark of the Web. Office는 인터넷에서 내려받은 파일의 매크로를 기본 차단합니다. 파일에 "외부에서 온 파일"이라는 표식이 붙어 있기 때문입니다.

해법

차단을 푸는 것이 아니라, 매크로를 직접 만들어 저장합니다. 배포된 출장비_원본.xlsx(매크로 없음)를 열고 → Alt+F11 → 삽입 → 모듈 → AI가 준 VBA를 붙여넣고 F5 → 잘 돌면 다른 이름으로 저장 → Excel 매크로 사용 통합 문서(.xlsm). 본인이 저장한 파일에는 차단이 걸리지 않습니다.

완성된 .hwpx를 열었더니 글자가 한 줄에 겹쳐 찍힙니다
증상

파일은 열리는데, 긴 문장이 줄바꿈되지 않고 한 줄 안에서 글자가 서로 포개져 보입니다.

원인

레이아웃 캐시. HWPX는 문단마다 줄이 어디서 끊기는지를 파일 안에 미리 저장(캐시)해 둡니다. 텍스트만 길게 바꾸고 이 캐시를 그대로 두면 한글이 옛날 줄 배치를 그대로 그립니다.

해법

배포된 hwpx_fill.py를 쓰십시오. 이 도구는 치환 후 캐시를 제거합니다. 직접 만든 스크립트로 치환했다면 그것이 원인입니다. 한글에서 해당 문단을 클릭하고 Enter를 눌렀다 지우면 임시로 다시 그려지기도 하지만, 근본 해법은 캐시 제거입니다.

'python'은(는) 내부 또는 외부 명령이 아닙니다
증상

명령 프롬프트에서 python hwpx_fill.py …를 실행하면 명령을 찾을 수 없다는 오류가 납니다.

원인

파이썬이 설치되지 않았거나, 설치는 되었지만 PATH에 등록되지 않았습니다.

해법

먼저 py --version을 시도하십시오. 윈도우에는 py 런처가 있는 경우가 많습니다. 되면 py hwpx_fill.py …로 실행하면 됩니다. 둘 다 안 되면 설치를 시도하지 말고(실습실 PC는 관리자 권한이 잠겨 있습니다) 위 ⑤에서 hwpx_fill.exe(무설치)를 받아 hwpx_fill.exe 공문_템플릿.hwpx 완성본.hwpx --json 값.json으로 실행하십시오. 본인 PC에 직접 설치하는 경우에는 설치 화면에서 "Add python.exe to PATH"에 반드시 체크하십시오.

hwpx_fill.py를 실행했는데 파일을 찾을 수 없다고 합니다
증상

No such file or directory 또는 파일을 찾을 수 없다는 오류.

원인

명령 프롬프트의 현재 폴더가 파일이 있는 폴더가 아닙니다. 명령은 "지금 서 있는 폴더" 기준으로 파일을 찾습니다.

해법

실습 파일을 모아 둔 폴더를 파일 탐색기에서 연 뒤, 주소창에 cmd를 입력하고 Enter를 누르십시오. 그 폴더에서 명령 프롬프트가 열립니다. 그 상태에서 다시 실행하면 됩니다.

JSON을 넣었는데 빈칸이 안 채워지거나 글자가 깨집니다
증상

완성본 .hwpx에 빈칸 표시가 그대로 남아 있거나, 한글이 ìˆ˜ì‹ 처럼 깨져 보입니다.

원인

둘 중 하나입니다. ① 키 이름 불일치 — 템플릿의 빈칸 이름과 JSON의 키가 정확히 같아야 합니다(공문 8개 / 보고서 14개). ② 인코딩 — 메모장이 ANSI로 저장했습니다.

해법

① AI에게 빈칸 목록을 그대로 붙여 주고 "이 키 이름을 한 글자도 바꾸지 마십시오"라고 지시하십시오. ② 메모장에서 다른 이름으로 저장 → 인코딩: UTF-8을 선택하십시오. AI 답변에서 ```json 같은 코드 울타리를 지우고 중괄호 {부터 붙여넣어야 합니다.

SUMIF·SUMIFS 합계가 0이거나 실제보다 작게 나옵니다 (오류는 안 뜹니다)
증상

SUMIF·SUMIFS를 넣었는데 합계가 0이거나 실제보다 작게 나옵니다. 오류는 뜨지 않습니다. 그래서 더 위험합니다.

원인

실습 데이터에 함정이 심어져 있습니다. ① '총무과 '처럼 뒤에 공백이 붙은 부서명 → 조건이 안 맞아 0. ② "143,000"·"88000"처럼 텍스트형 숫자 → SUMIF·SUMIFS가 오류 없이 조용히 건너뛰어 합계가 작아집니다. #VALUE!SUMPRODUCT=A1+B1처럼 텍스트를 직접 연산에 넣은 수식에서만 뜹니다.

해법

공백은 TRIM()으로, 표기 불일치("국내출장" vs "국내 출장")는 SUBSTITUTE()로 흡수합니다. 텍스트형 숫자는 데이터 → 텍스트 나누기 → 마침으로 한 번에 숫자로 바뀝니다. 프롬프트 3-1[주의할 점]에 이 두 가지를 반드시 써서 AI에게 알려 주십시오.

매크로를 두 번째 실행하니 "이미 있는 시트 이름" 오류로 죽습니다
증상

처음엔 잘 돌았는데, 다시 실행하니 런타임 오류가 나고 노란 줄에서 멈춥니다.

원인

재실행 방어가 없는 코드. 이미 만들어 둔 시트가 남아 있는데 같은 이름으로 또 만들려고 해서 죽습니다.

해법

AI에게 "여러 번 실행해도 오류가 나지 않아야 합니다. 기존에 만든 시트가 있으면 먼저 지우고 다시 만드십시오"라고 명시하십시오(프롬프트 3-2의 조건 2). 정답 코드는 원본을 제외한 시트를 먼저 지우고 시작합니다.

매크로가 대화상자에서 멈춰 아무것도 진행되지 않습니다
증상

실행하면 "완료되었습니다" 같은 팝업이 뜨고, 확인을 누를 때까지 아무 일도 일어나지 않습니다.

원인

AI가 코드에 MsgBox를 넣었습니다. MsgBox는 모달 대화상자라 실행을 멈춰 세웁니다.

해법

프롬프트에 "MsgBox를 쓰지 마십시오"를 반드시 넣으십시오(프롬프트 3-2의 조건 1). 이미 받은 코드라면 MsgBox로 시작하는 줄을 지우면 됩니다. 결과는 새 시트로 눈에 보이므로 알림이 필요 없습니다.

공문 초안이 공문 투가 아니라 블로그 글처럼 나옵니다
증상

"안녕하세요! 이번에 교육을 진행하게 되었어요~" 같은 문장이 나옵니다.

원인

프롬프트에 역할과 제약이 빠졌습니다. 역할이 없으면 AI는 기본값(친절한 일반인 말투)으로 씁니다.

해법

맨 앞에 "당신은 국립대학교 총무과에서 15년간 공문을 작성해 온 행정직원입니다"를 넣고, 제약에 "~하시기 바랍니다 체", "미사여구 없이 사실만"을 명시하십시오. 프롬프트 2-2를 그대로 복사해 쓰십시오.

신·구조문대비표가 표로 안 나오고 줄글로 나옵니다
증상

"현행은 이렇고 개정안은 이렇습니다"라는 설명문만 나오고, 좌우 대조 표가 없습니다.

원인

표의 구조를 지정하지 않았습니다. "대비표를 만들어 줘"만으로는 AI가 좌우 2열 구조를 알 수 없습니다.

해법

"표로 만드십시오. 왼쪽=현행, 오른쪽=개정안. 새로 넣는 조항은 현행란에 <신 설>이라고 적으십시오"까지 지정하십시오(프롬프트 2-3). 한글로 옮길 때는 표를 복사 → 한글에서 붙여넣기 → 표로 붙이기를 선택합니다.

중복을 지웠더니 합계가 줄었습니다. 잘못한 건가요?
증상

중복행 2건을 제거하니 총 집행액이 이전보다 작아졌습니다.

원인

원래 데이터에 같은 건이 두 번 들어가 있었습니다. 그래서 합계가 부풀려져 있었던 것입니다.

해법

잘못한 것이 아니라 고친 것입니다. 줄어든 그 금액이 그동안 잘못 보고되던 금액입니다. 다만 지우기 전 합계를 반드시 메모해 두고 차이를 확인하십시오. 이 차이를 눈으로 보는 것이 이 모듈의 목적입니다.

08 / 교육 후

자리로 돌아가서 하는 일

자동화 적용 계획표

2일차 마지막 모듈(6교시 16:00~16:50)의 산출물입니다. 내가 반복하는 업무 · 걸리는 시간 · 어느 프롬프트를 쓸까 · AI가 할 수 있는 부분 · 내가 꼭 해야 하는 부분을 채웁니다.

마지막 열이 비어 있으면 그 업무는 아직 AI에게 넘기면 안 되는 업무입니다.

계획표 양식 내려받기

이 주소는 교육 후에도 유지됩니다

슬라이드 · 프롬프트 라이브러리 · 실습 파일 · 트러블슈팅은 그대로 남습니다. 즐겨찾기에 추가해 두고, 실제 업무에서 막힐 때 다시 열어 보십시오.

duonedu.net/edu/26/0715-16-chungbuk/

강사

강사
이신우
과정
생성형 AI 활용 업무효율화 실습 심화교육 · 과정1
문의
교육 담당 부서를 통해 연락 주십시오.