업체 목록을 엑셀로 정리해야 할 때가 있습니다. "○○시 카페", "○○구 철물점" 같은 식으로 지역과 업종을 넣고 상호, 주소, 전화번호를 쭉 뽑아 영업 리스트나 DM 발송용 주소록을 만드는 일이죠. 지도 앱에서 하나씩 복사해 붙이면 몇십 건만 넘어가도 손목이 아픕니다. 그래서 네이버 검색 API 로 결과를 한꺼번에 가져오고, 우체국 API 로 우편번호까지 붙여서 엑셀 시트로 바로 넘기는 추가 기능을 VB.NET VSTO 로 만들었습니다.

설치

받은 설치 파일을 더블클릭하면 VSTO 설치 창이 뜹니다.

VSTO 엑셀 추가 기능 설치 파일 실행 화면

"설치(I)" 버튼을 누르면 진행됩니다.

설치 확인 대화상자의 설치(I) 버튼

완료 메시지가 나오면 "닫기"로 끝냅니다.

추가 기능 설치 완료 안내 창

VSTO 추가 기능은 .NET Framework 와 VSTO 런타임이 PC 에 있어야 돌아갑니다. 회사 PC 처럼 설치 권한이 막힌 환경에서는 이 단계에서 실패할 수 있으니, 그럴 땐 관리자 권한으로 다시 실행해 보는 게 먼저입니다.

엑셀에서 키 넣고 검색하기

설치 후 엑셀을 열면 됩니다.

엑셀 실행 화면

리본의 "추가 기능" 탭에 "검색하기" 버튼이 생겨 있습니다. 눌러서 프로그램 창을 띄웁니다.

엑셀 추가 기능 탭의 검색하기 버튼

처음 한 번은 네이버 검색 API 의 "Client ID" 와 "Client Secret" 을 넣어야 합니다. 발급 방법은 /community/board/free/164 글에 따로 적어 두었습니다. 입력 후 "Save" 를 눌러 저장하면 다음부터는 다시 넣지 않아도 됩니다. 키는 개인 계정에 묶인 값이니 남에게 프로그램을 넘길 때 같이 넘어가지 않도록 신경 쓰세요.

네이버 검색 API Client ID, Client Secret 입력 및 Save 화면

이제 "지역"과 "검색어"를 넣고 검색 버튼을 누릅니다.

지역과 검색어를 입력하고 검색 버튼을 누르는 화면

결과는 금방 리스트에 채워집니다.

네이버 지역 검색 결과가 리스트에 채워진 화면

우편번호는 우체국 API 로 따로 붙입니다

네이버 검색 결과에는 우편번호가 없어서, 우체국 비즈니스 사이트에서 발급받은 "epost key" 를 넣고 리스트에서 마우스 오른쪽 버튼 → "우편번호 검색"을 실행합니다. 주소를 하나씩 우체국 쪽에 물어보는 방식이라 건수가 많으면 조금 기다려야 합니다.

epost key 입력 후 리스트 우클릭 메뉴의 우편번호 검색

진행 중에는 이런 상태가 보입니다.

우편번호 검색 진행 중 화면

끝나면 각 행에 우편번호가 채워집니다.

우편번호 검색이 끝나 리스트에 우편번호가 채워진 화면

시트로 내보낼 때 막히는 지점

리스트에서 마우스 오른쪽 버튼 → "Excel로 Data 이동"을 누르면 엑셀로 옮겨집니다.

리스트 우클릭 메뉴의 Excel로 Data 이동

그런데 처음에는 시트를 확인하라는 메시지가 뜰 수 있습니다. 어느 시트에 넣을지 아직 정해지지 않아서 그렇습니다. 엑셀에서 내보낼 시트를 먼저 선택해 두고, 프로그램 창으로 돌아와 같은 메뉴를 다시 누르면 됩니다.

내보낼 시트를 확인하라는 안내 메시지

정상적으로 들어간 모습입니다.

검색 결과와 우편번호가 엑셀 시트에 입력된 화면

하나 눈에 띄는 게 있는데, 우편번호가 0 으로 시작하면 앞의 0 이 사라집니다. 엑셀이 다섯 자리 숫자로 보고 숫자 형식으로 바꿔 버리기 때문입니다. 서울 쪽 주소에서 자주 보입니다. 해당 열을 미리 텍스트 서식으로 바꿔 두거나, 이미 들어간 값이라면 사용자 지정 서식 00000 을 걸어 다섯 자리로 보이게 하면 됩니다. 라벨 인쇄나 DM 업체에 넘길 파일이라면 텍스트 서식 쪽이 안전합니다.