'코딩/엑셀 VBA' 카테고리의 글 목록
본문 바로가기

코딩/엑셀 VBA3

[엑셀VBA] 다음지도 API를 이용한 지오코딩 자주 하는 일은 아니지만, 가끔 여러 업체들의 주소를 기준으로 경도와 위도를 불러온 뒤 다시 경도와 위도를 기준으로 지도를 만드는 작업을 하곤 한다. 이 작업을 하기 위해서 VBA코드를 작성해 보았다. (이번 글에서는 우선 지오코딩만 설명하고 지도를 만드는 과정은 추후 설명하도록 하겠다.) "서울시 중구 태평로1가 31"와 같이 한글로 된 주소를 지도에 표시하기 위해서는 경도, 위도 정보로 변환하는 지오코딩 과정이 필요하다. 구글,네이버,다음 모두 지오코딩 서비스를 제공하고 있으나 개인적으로 느끼기에 구주소, 신주소 체계 모두 지원하면서 정확도가 가장 우수한 다음지도 API를 즐겨 사용한다.(정확하게는 다음 로컬 API이나, 편의상 지도API로 부르겠다.) 아래 VBA 예제도 다음지도 API를 사용하여 .. 2014. 7. 10.
[엑셀VBA] 웹파싱하는 방법 3가지 및 장단점 비교 업무상 VBA로 웹에서 정보를 파싱해 오는 경우가 많은데 이럴 때 매번 어떤 방법으로 파싱할지 고민을 하게 된다. 속도와 정확도를 고려해야 하고 사이트에서 로그인 등을 요구하는 경우, 좀더 복잡한 방법이 필요하게 된다. 지금까지 경험을 통해서 VBA로 웹파싱하는 각각의 방법과 장단점을 비교해 본다. 1. Winhttp를 이용하는 방법 가장 기본적인 방법이면서도 필요한 모든 기능을 제공하는 아주 막강한 라이브러리이다. GET, POST 방식 모두 지원하며, 헤더와 쿠키 정보도 작성하여 같이 전송할 수 있다. 사실상 거의 모든 페이지를 완벽히 파싱해 올 수 있으나 우리나라의 웹 환경상 접근이 제한되어 있는 페이지는 파싱해오기 어려운 문제점이 있다.(Internet Explorer.Application을 이용.. 2014. 7. 9.
[엑셀VBA] 내부네트워크에서만 매크로 실행 (running macro only in internal network) 업무상 특정 매크로를 만들었는데, 외부 유출 되면 곤란한 경우 혹은 내부 네트워크에서만 실행하도록 해야할 경우 있습니다. 그런 경우를 위해서 사용자 정의 함수를 만들어보았습니다. 내부 네트워크에서만 접근 가능한 주소를 아래 URL에 기재하시고 VBA에서 함수 호출하시면 됩니다. 접속이 되는 경우 OK가 반환되고,접속이 안되는 경우 Error가 반환됩니다. 조건문으로 OK가 반환되는 경우 다음 구문으로 넘어가시게 하면 됩니다. I had need to block running macros when user isn't in the internal network. So I made a user defined function which check that user is in the internal network.. 2014. 6. 15.