2024/01/14

MS Word에서 편지 병합(Mail Merge)으로 양식(form)에 데이터를 가져와 출력하기 1/2편

'편지 병합(Mail Merge)'은 MS 워드(Word)를 사용하면서 개인적으로 애용하는 기능이다. 나는 이번 포스팅을 통해서, 단지 편지 병합의 사용법을 설명하는데 그치지 않고, 그 활용도를 넓히는 방법을 안내하고 싶다. 


왜냐하면 아쉽게도  많은 사람들은 이 좋은 기능을 단지 라벨지에 대량의 주소를 출력하는 정도로 사용하는데 그치기 때문이다.


그런데 사용자가 ① 이 기능의 원리를 잘 이해하고, ② 데이터를 가공하는 센스를 가지고 있다면... 훨씬 다양하고 복잡한 업무를 이 기능으로 해결할 수 있다.


워드에는 계산 기능이 없지만, 엑셀에서 빌려 올 수 있다.


워드는 내가 원하는 양식을 구현하는데 더할 나위 없이 유용한 도구이지만, 엑셀처럼 계산 기능을 가지지 못하는 한계가 있다.


그런데, 편지 병합 기능을 사용하면, 엑셀에 데이터를 입력하여 계산을 시킨 후에 결과 값을 워드에서 만든 양식(form)에 반영시킬 수 있어서, 그와 같은 한계를 극복할 수 있다.


물론 머지(merge) 자체를 엑셀로 끝낼 수도 있지만, 엑셀은 스프레드시트이지 워드프로세서가 아니다 보니, 복잡한 양식을 정교하게 만드는 데는 오히려 워드만 못하다. 



편지 병합 (Mail Merge)의 활용 범위


예제로 올린 것처럼 급여명세서를 만들 수도 있고... 


M&A 과정에서 거래처들에게 보내는 채권채무조회서, 여러 사람들에게 비슷한 내용으로 보내는 안내문이나 통지문 등등 일정한 양식에 일부 입력되는 데이터 값이 변경되는 방식이라면, '편지 병합' 기능을 얼마든지 활용할 수 있다.


본론에 들어가기에 앞서 어느 정도 배경 설명을 했으니... 이제 실제로 구현을 해 보기로 한다.


편지 병합을 통해 하려는 작업은 아래와 같은 형태로 900여명의 급여명세서를 만드는 것이다.


편지병합을 통해 출력된 급여명세서의 내용


1. 양식(Form) 만들기 - 원하는 출력물 내지 결과물


양식은 보통의 워드 문서를 만드는 것처럼 작성하면 되지만, 고정되는 내용이 무엇이고... 각각의 출력물마다 그에 해당하는 데이터를 반영하여 바뀌어야 하는 부분은 어떤 것인지를 잘 감안해야 한다.


급여명세서의 경우에는 사번, 소속, 성명, 근태사항, 급여, 각종 수당, 공제 내역 등이 변수가 될 것이다. 그리고, 해당 값들은 엑셀을 통해 계산한 결과물을 '편지 병합(mail merge)'을  통해 가져올 예정이다. 아래는 위의 모양의 문서를 워드로 만든 파일이다.  


form.docx


2. 데이터(Data) 만들기 - 출력물에 반영할 자료


출력물에 들어갈 자료는 각 근로자의 기본적인 임금 조건과 근태 등에 따라서 달라지는 수당, 그리고 세금 등을 반영하여 엑셀로 작성한다. 아래는 예전에 실제로 작성했던 데이터인데... 이름은 수정을 했다. 그 사연은 2편 마무리에서 잠깐 언급하거나 별도로 정리하고자 한다. 


slip.xlsx


편지 병합(Mail merge)하기 - 1단계


이제 출력할 양식(Form)과 데이터(Data)가 준비 되었으니, '편지 병합'을 통해 이 둘을 합치는 과정만 남았다.


만들어 놓은 양식을 워드에서 열고, 아래 그림과 같이 메뉴 중 [편지]에 있는 [편지 병합 시작]으로 가서, '단계별 편지 병합 마법사(W)'를 실행한다. 




'문서 종류 선택'에서 '편지'를 선택하고... 다음 단계로 넘어간다.


편지 병합(Mail merge)하기 - 2 ~ 3단계


우리는 이미 출력할 양식(Form)을  펼쳐 놓은 상태이기 때문에, '시작 문서 선택'에서 '현재 문서 사용'을 선택하고 다음 단계로 간다.  


3단계는 양식에 입력될 데이터를 지정하는 과정이다. 마법사에서는 '받는 사람 선택'이라고 나오는데... 그 부분이 바로 양식(form)에 반영될 데이터가 된다.  


우리는 이미 급여 작업을 마친 엑셀 파일이 있고... 그 파일을 양식에 반영할 것이기 때문에, '받는 사람 선택'은 '기존 목록 사용'으로 하고,  '찾아보기'를 클릭해서 데이터 파일(여기서는 slip.xlsx)을 찾아 연결할 것이다. 




'찾아보기'를 클릭하면, 아래와 같은 팝업창이 나타난다. 파일탐색기와 같은 원리와 구조이기 때문에... slip.xlsx 파일이 있는 위치로 이동을 한다.


'찾아보기'를 클릭하면 나타나는 팝업창


본 예제의 경우엔 slip.xlsx 파일의 위치가 c드라이브상에 인사/교육관련/OA교육/Word 폴더 내에 있다. 자신이 작업하기를 원하는 곳에 양식(form)과 데이터(data)를 같이 놓은 것이 찾는데 번거로움이 덜하다. 




데이터로 사용할 slip.xlsx를 선택하여 '열기'를 누르면, 아래와 같은 팝업창이 나타난다.


해당 창의 하단에 '데이터의 첫 행에 열 머리글  포함(R)'이라는 네모난 체크 버튼이 기본값으로 선택되어 있는데... 그대로 유지하고 확인을 누른다. slip.xlsx 파일을 보면 알겠지만, 해당 첫 행이 그 열(column)의 데이터가 어떤 값인지를 설명하고 있는데... 당연히 포함을 시켜야, 양식(form)에서 필요한 위치에 해당 값을 연결할 수 있겠다. 




위에서 '확인'을 클릭하면, 아래 그림과 같이 '편지 병합 받는 사람' 팝업 창이 나타난다. 이어서 '확인'을 누르면... 이제 양식인 form.docx와 slip.xlsx는 합체가 된 것이다.  




다음 2편은 합체된 두 개의 파일을 가지고, 양식에서 원하는 위치에 데이터의 값을 넣어 주도록 지정하는 방법을 설명하고, 그 밖의 주의 사항을 언급하는 것으로 마무리하고자 한다. 

No comments:

Post a Comment