Excel - VBA 64

Naver Web Dynamic MAP이용한 VBA 지적도

vWorld API 중에 Static MAP을 이미지로 제공하는 API가 있는데, 이 API에서는 번지에 해당하는 다각형을 표시할 수 있는 옵션이 있어서 이걸 다운로드 합니다.그런데, 이 API는 지도 확대가 18단계까지만 되기 때문에 작은 지형은 조금 보기 어렵습니다.Static Map이라 확대하거나 축소할 때마다 새로 지도 이미지를 받아와야 합니다. 서울시청을 다운로드 한 예  그런데 Naver에서 지원하는 Naver Static MAP API는 20단계까지 확대를 지원하지만,유감 스럽게도 지번에 해당하는 다각형을 표시할 수 없습니다. Web Dynamic MAP API를 이용하면 지도에 다각형을 표시할 수 있는데, VBA 환경에서는 ...Local Web Server를 Python을 이용해서 실행하..

Excel - VBA 2024.06.18

Naver API Sample Code 인증 실패 수정 (GitHub)

Naver Map API에서 Web Dynamic Map API 가이드와 예제를 다운로드 할 수 있도록 안내하는데,GitHub에 있는  자료입니다만,여기서 다운로드 한 후에 로컬 웹서버에서 열어보면 아래와 같이 인증실패로 표시됩니다.  https://github.com/navermaps/maps.js.ncp GitHub - navermaps/maps.js.ncp: NAVER CLOUD PLATFORM Maps JavaScript API v3NAVER CLOUD PLATFORM Maps JavaScript API v3. Contribute to navermaps/maps.js.ncp development by creating an account on GitHub.github.com   기본으로 들어 있는 ..

Excel - VBA 2024.06.16

Local Web Server 간단하게 실행하고 종료하기 (feat. Python)

Naver의 Dynamic Map API를 사용해 보려고 준비중인데,예제를 실행하려고 로컬 Web Server를 만드려니 귀찮아서 Python을 이용하여 서버를 구동하고 샘플을 웹브라우저에서 확인하고끝나면 다시 Python을 종료하는 일을 반복하다 보니...매크로로 자동으로 서버를 백그라운드에서 구동시키고, 사용이 완료되면 다시 종료시키는 것을 구성하였습니다. 1. Python으로 HTTP Server 구동  - 먼저 웹페이지 파일이 있는 폴더로 이동한 다음에  - 간단하게 CMD 창을 띄워서 아래 코드를 입력하면 됩니다.  - 사용할 Port는 귀찮아서 80으로 사용하는데, 8080처럼 다른 Port를 지정해도 됩니다.python -m http.server 80   - Web Browser에서  loc..

Excel - VBA 2024.06.16

VBA Module Source Backup Tool

VBA Project를 많이 진행하면  각각의 프로젝트별로 또 각 버전별로 소스코드를 백업하는 게 일입니다.그래서 소스코드 백업을 자동화 해 봅니다. 먼저 필요한 개체용 변수 및 상수를 지정합니다. 만약 VBA 편집기에서 외부 참조로 "Microsoft Visual Basic for Application Extensibility 5.3"를 지정한 경우아래 Private Const 로 지정된 라인들은 필요하지 않습니다.Private XL As ObjectPrivate WB As ObjectPrivate ProjectVersion As StringPrivate Const vbext_pp_locked As Integer = 1Private Const vbext_ct_StdModule As Integer = 1..

Excel - VBA 2024.06.08

VBA Project 소스코드 백업하기

VBA로 프로그램 진행하고, 버전마다 소스 백업을 할 경우에일일이 모듈별로 내보내기 작업을 했었는데,모듈수가 많아지다보니 귀찮아져서,,,이것도 자동으로 하는 매크로를 만들어 봅니다. 모듈을 자동화할 때에는 아래 리소스를 참조에 추가해야 합니다.Microsoft Visual Basic for Application Extensibility 5.3 물론, 개발이 끝나면 Late Bind로 처리하고 참조에서 제외하여 사용성을 고려합니다. 소스코드가 저장되는 위치는 이 매크로가 실행되는 파일이 있는 폴더 하위에"Source"  폴더를 만들고, 그 아래 버전별로 폴더를 만들어 Module, Class, WorkSheet 들을 보관합니다. Public Const ThisVersion As String = "4.2.4..

Excel - VBA 2024.05.18

TXT, CSV 파일 분할하기

CSV파일로 자료를 다운받은 경우Excel의 행 번호를 넘어가서 Excel에서 자료를 로딩하기 어려울 때파일을 열어 볼 수 있도록 적정 크기로 분할할 수 있습니다. Sub SplitCSVFile() Dim FSO As Object, oFile As Object Dim sPath As String, sFullName As String, sFileName As String, sLine As String, sExt As String Dim iR As Currency, iMax As Variant, iC As Long sFullName = Application.GetOpenFilename(Title:="File을 선택하세요.", FileFilter:="Text Files (*.csv..

Excel - VBA 2024.05.11

ChromeDriver를 자동으로 업데이트 하기

SeleniumBasic을 사용하여 Chrome제어를 할 때가 많은데,Chrome이 버전업이 되면 ChromeDriver도 다시 새 버전을 설치해 줘야 합니다.이게 귀찮아 지게 되면,,,, 우선 현재 Selenium이 설치된 폴더를 확인해 봅니다.마땅한 Registry를 찾지 못해서 대충 CLSID에 있는 걸 써 봅니다.Private Function getSeleniumPath() Dim sPath As String sPath = CreateObject("WScript.Shell").RegRead("HKEY_CLASSES_ROOT\CLSID\{0277FC34-FD1B-4616-BB19-5D556733E8C9}\InprocServer32\CodeBase") getSeleniumPath = ..

Excel - VBA 2024.04.26

[VBA] JSONParse 함수

JSON을 배열로 변경하는 JSONPair함수와 JSONtoArray 함수에 이어서,,, 변경된 배열에서 이름 경로를 지정하여 값이나 목록을 검색하는 함수입니다. JSONParser로 이름을 하고 싶으나,,, VBA로 저장은 되지만 Excel에서 사용할 수 없었습니다.ㅠㅠ 이전 버전에서 나오던 일부 오류는 수정하였습니다. 【 함수 구문 】 = JsonParse( JSON , Path , [ Header ] , [PAD ] , [ Delimiter ] ) 【 함수 인수 】 인수명 옵션 기본값 설 명 JSON 필수 없음 JSON 텍스트, 배열 또는 범위 Path 필수 없음 검색할 이름, 이름 경로인 경우 "/"를 사용해서 연결, 대소문자 구별함 이름 및 이름 경로에 와일드 카드 사용 가능 이름1/이름2/이름..

Excel - VBA 2024.03.28

[VBA] JSON 을 배열로 변환하기 (JSONtoArray)

이전 버전에서 몇 가지 문제가 있어서 함수 구성을 조금 변경하여 JSONPair 함수로 기본 분석을 정리하고나서 이름경로를 셀 하나씩 분리하여 배열을 확장하는 함수로 구성하니다. 결과는 이전 함수와 같으나 효율이 좀 더 좋아 졌습니다. 【 함수 구문 】 = JSONtoArray( JSON , [PAD ] ) 【 함수 인수 】 인수명 옵션 기본값 설 명 JSON 필수 없음 JSON 텍스트, 배열 또는 범위 PAD 선택 빈문자열("") 빈 셀에 채울 값 JSON 구조에 대해서는 JSONPair 함수에서 정리한 결과 배열을 받아서 진행합니다. 따라서 이 함수에서는 매우 간단한 구조로 처리가 진행됩니다. Function JSONtoArray(JSON, Optional PAD$ = vbNullString) '==..

Excel - VBA 2024.03.28

[VBA] JSON 을 이름, 값 배열로 변환하기 (JSONPair)

구글 캘린더나 다른 API 작업을 할 때, 결과가 xml 아닌 json으로 출력되는 경우 그 동안에는 JSON converter를 사용하고 있었습니다. 이를 VBA에서 쉽게 사용할 수 있는 배열로 변환하고 이를 바탕으로 이름 경로(Path)를 이용하여 값이나 목록을 출력하도록 설계를 했습니다. 여기서는 먼저 배열로 변환하는 함수를 설명합니다. 【 함수 구문 】 = JSONPair( JSON , [ Delimiter ] ) 【 함수 인수 】 인수명 옵션 기본값 설 명 JSON 필수 없음 JSON 텍스트, 배열 또는 범위 Delimiter 선택 "/" "이름 경로" 각 단계를 연결할 구분자, 기본값은 "/" JSON 문자열을 하나씩 읽어서 그에 따른 처리를 진행하는 구조입니다. 공백문자를 Skip하기 위한 ..

Excel - VBA 2024.03.28