excel-macro
템플릿과 데이터를 활용한 엑셀 시트 복사
API 문서 작성
개발자도 문서작성 할 일이 많다. Swagger를 이용하면 되지 않냐고 할수 있겠지만, 상황이 여의치 않았다.
이번 내용은 엑셀을 활용하여 API 문서를 쉽게 작성한 후 그 결과물에 만족하여, 다른 업무에도 적용이 가능하기에 공유하고자 하는 마음으로 작성한다.
API문서를 만들때, 여러 상황이 있을 수 있다.
내가 일방적으로 제공하는 경우 즉, 내가 갑인경우이다. 이 경우 무슨 문제가 있겠는가 그냥 맘대로 줘도 받아쓰는 입장에서는 달리 할수 있는 일이 많치 않다.
나의 경우는 시스템은 아직 개발전이고, 화면도 아직 나도지 않은 기획도 시작전인 경우로 시간이 매우 부족한 경우였다. 뭐가 되었든 일단 만들어 내야 하는 상황인것이다. 그렇다고, 울고만 있자는 사람은 아무도 없다. 다행이다. 전투적으로 만들어내고, 수정하고, 엎고 갈고….열심히 부딪혀서 시간내에 만들어 내야 한다. 그래서 문서작성을 꽤나 여러번 했다.
나는 이번에 기획과 개발의 업무영역이 모호하고 기간이 촉박하여, 기획과 개발이 동시에 문서를 4일안에 만들어야 하는 상황이였다. 관리자 웹과 사용자 웹을 만드는 건데, 기획에서 주도하기에는 기술적인 고려가 많았고, 개발에서 주도하기엔 기획에 대한 전문성이 부족하기에 투트랙으로 진행되었다. 즉, 기획에서는 기획을 하고 개발에서는 api를 만들면서 계속 서로 맞춰보는 것 이다. 이 과정에서 나는 문서를 4번정도 처음부터 끝까지 다시 만들었다. 하루에 한번씩 회의를 거쳐 수정과정을 거치는 과정이 있었다. 처음에는 기획에서 정의한 기능목록만 가지고, 마크다운으로 했다가 대충의 화면기획이 나오고 한번, 피드백과정에서 한번, 마지막 회의를 거쳐 1차 마무리가 되었다. 마지막에는 엑셀로 진행했는데 20개가 넘는 API에 대해 같은 서식으로 문서를 찍어내야 하는 상황이 매우 불편했다. 나는 키보드랑 친하지도 않다. 그래서 템플릿 시트와 API에 관한 데이터 목록만을 먼저 만들고, 무적정 다른 사람이 먼저 해뒀을 꺼란 오랜 웹서칭 믿음을 바탕으로 진행했다. 역시 구글신은 기대를 저버리기 어렵다는 듯 응답해왔고, 아래는 그 예제이다.
예제
-
템플릿과 데이터를 활용한 문서복사와 데이터 셋팅.
-
순서
- 복사해서 사용할 시트를 준비한다. 즉, 템플릿을 작성한다.
- 복사할 템플릿에 들어갈 데이터를 준비한다.
- VBA를 작성하고 실행한다.
Template Sheet
정말 의심없이 잘 돌아가게 되기 때문에 복사와 삭제 후 복사를 다시 실행하지 말고, 처음부터 꼼꼼하게 시트를 점검하자. 빈시트보다는 데이터를 채운 시트를 작성하여 데이터 표기(정렬, 폰트, 병합)를 확인하여 후회없는 자동화를 하기를 바란다. 그리고, 시트내에 홈으로 가는 링크를 템플릿에 심어 두면 언제든 홈으로 이동하기 편해진다.
Data Sheet
마찬가지로 오타등이 없도록 꼼꼼하게 작성하기를 바란다.
VBA Script
주석을 단다고 달았지만, 본인도 해당 언어를 정식으로 배운게 아니라, 샘플 소스를 여기 저기 기웃거리다가 대충 때려 맞춘것이다. 그러니 부디 잘 짐작하고 테스트를 여러번해서 터득하시기를 바란다. 또한, 셀주소와 번갈아보면 감잡는데 도움이 될 것 이다.
참고로 해당 언어 주석은 싱글쿼테이션(‘)이다. “//”은 주석으로 읽히지 않는다.
아래 소스와 위 샘플대로 일단 진행해서 성공하고, 변형을 해보는 방식으로 해보시길 바란다.
메크로 입력을 위해서는 Alt+F11을 입력하고 상단 메뉴에서 ‘삽입 > 모듈’을 선택하시고, 해당 소스를 다 입력후에는 F5를 눌러 실행하면 바로 실행될 것 이다. 복사가 잘 되었는지 확인하면 되겠다.
샘플엑셀
샘플엑셀다운로드
위를 클릭하면 깃허브로 이동하는데 download
버튼을 누르면 되겠다. github에서 파일 다운로드를 막아뒀다… 파일에 매크로가 있음을 인지하고, 매크로 실행을 허용하기를 바란다. 매크로 싫으면 이 방법은 버리면 된다.
Comments