엑셀과 파워포인트로 명찰 자동화 만들기: 수작업 탈출기

소개

업무상 행사나 워크숍을 준비할 때마다 수십 명의 참여자 명단을 받아 명찰을 만들어야 했어요. ✨ 하지만 오탈자나 누락자 없이 명찰을 만드는 일은 생각보다 많은 시간과 노력을 요구하더라고요. 그래서 엑셀에 정리된 참여자 명단을 활용해 파워포인트 명찰 템플릿에 자동으로 채워넣는 명찰 자동화 작업을 시작하게 됐습니다!

작업을 시작한 프롬프트 공유

처음 이 작업을 시작할 때, GPT에게 이렇게 요청했습니다. 🧠✨

안녕? 넌 프롬프트 전문가야.
아래 작업을 위한 프롬프트를 작성해줘.

---
안녕? 넌 엑셀과 파워포인트를 이용한 문서 자동화 전문가야.
엑셀에 있는 참여자 명단을 가지고 파워포인트에서 만들어둔 명찰 템플릿에
소속과 이름이 자동 입력될 수 있도록 만들고싶어.
방법이 있을까?

'참석자명단' 엑셀파일에 있는 참석자명단에 있는 내용으로 '명찰 템플릿' 파워포인트 파일에 기관명, 부서, 직급, 성명을 자동으로 넣고싶어.
[엑셀파일 구성]
A열 : no.
B열 : 기관명
C열 : 부서
D열 : 직급
E열 : 성명
[파워포인트파일 구성]
한 장에 이름표 위, 아래로 이름표 2개 템플릿이 만들어져 있어.
엑셀파일 정보가 파워포인트 템플릿 어디에 위치해야하는지 {B}와 같이 기록해두었어.
배경은 슬라이드마스터로 작업해 두었고, 변경되어야하는 정보만 수정될 수 있도록 템플릿 만들어두었어.
[문서 자동화 작업 프로세스]
1. 엑셀파일 A열 값이 1,2인 행의 정보를 가지고 파워포인트 1페이지에 이름표 2개 생성
2. 엑셀파일 A열 값이 3,4인 행의 정보를 가지고 파워포인트 2페이지에 이름표 2개 생성
3. 엑셀파일 A열의 값이 있는 경우 파워포인트 새로운 페이지 자동 생성하여 이름표 생성
4. C열 값과 D열 값 사이에 꼭 1칸 띄우기
5. C열 값이 없을 경우 D열 값만 입력

진행 방법

사용 도구

  • 엑셀: 참여자 명단 정리 (소속, 이름 등)

  • 파워포인트: 명찰 디자인 (슬라이드 마스터 기능 활용)

  • VBA 매크로: 엑셀 데이터를 파워포인트에 자동 삽입

작업 플로우

  • 파워포인트 슬라이드 마스터로 명찰 디자인 세팅

  • 작업 페이지에 데이터 치환용 텍스트박스를 따로 구성

    B-TOP C-TOP E-TOP B-TOP C-TOP E-TOP B-TOP C
  • 엑셀 명단 파일을 깔끔하게 정리 (필수 컬럼: 기관명, 부서, 직급, 성명)

  • VBA 코드 작성 후 매크로 실행하여 파워포인트 자동 채우기

' VBA 예시 (간단버전)
Sub CreateNameTags()
    Dim pptApp As Object
    Dim pptPres As Object
    Dim slideIndex As Integer
    Dim i As Integer

    Set pptApp = CreateObject("PowerPoint.Application")
    Set pptPres = pptApp.Presentations.Open("C:\\path\\to\\template.pptx")

    For i = 2 To Sheets("명단").Cells(Rows.Count, 1).End(xlUp).Row
        slideIndex = slideIndex + 1
        pptPres.Slides(slideIndex).Shapes("소속").TextFrame.TextRange.Text = Sheets("명단").Cells(i, 1)
        pptPres.Slides(slideIndex).Shapes("이름").TextFrame.TextRange.Text = Sheets("명단").Cells(i, 2)
    Next i

    pptPres.SaveAs "C:\\path\\to\\output.pptx"
    pptPres.Close
End Sub

에피소드 😅

  • 텍스트박스 구성

    • 처음엔 명찰 한 장에 여러 텍스트박스를 수작업으로 만들었을 때처럼 만들어놨더니 매크로로 데이터 입력이 안 됐어요.

    • 결국 상단/하단 각각 하나의 텍스트박스만 남기고, 텍스트박스 하나에 3줄의 텍스트를 만들어 각 줄별로 데이터 치환하는 방식으로 해결했습니다!

  • 폰트 스타일 문제

    • 명찰 텍스트를 줄별로 폰트 크기와 색을 다르게 설정했었는데, 매크로를 돌리면 모두 통일돼버리는 문제가 있었어요.

    • VBA 코드에서 각각의 텍스트 포맷을 지정해주는 수정 작업으로 해결했습니다.

  • 홀수 데이터 처리

    • 명단 인원이 홀수라 마지막 페이지 하단이 비워져야 했는데, 빈 칸이 자동 삽입되지 않아 한참 GPT와 씨름했어요 😂 결국 성공!

결과와 배운 점

  • 한 번에 완성되지 않는다: 첫 시도에서 에러가 나는 건 너무 자연스러운 일!

  • 차분히 수정, 또 수정: 시행착오를 거치면 완성할 수 있다는 자신감을 얻었습니다.

  • 자동화는 시간 투자 대비 가치가 크다: 지금 힘들어도 미래의 나를 위해 꼭 해두는 게 이득!

미래의 나를 위해 지금 투자하자! 자동화는 생각보다 더 큰 선물이 되어 돌아온다!

👉 이 게시글도 읽어보세요