상세 컨텐츠

본문 제목

[VBA] Json 형식의 문자열을 데이터테이블화

[기록] Programming

by brightwing1218 2019. 12. 20. 10:00

본문

POINT

 

VBA-tools/VBA-JSON

JSON conversion and parsing for VBA. Contribute to VBA-tools/VBA-JSON development by creating an account on GitHub.

github.com

  • 라이브러리 사용 조건:
    1) Tool - 참조에서 Microsoft Scripting Runtime 체크하기
    2) 파일 - 가져오기 - JsonConverter.bas --> 해당 라이브러리 모듈 추가됨
  • Long 형 = int의 두 배 바이트를 사용.

주요 오류

  • Worksheets()는 없는 시트를 지정했을 시, "아래 첨자 사용이 잘못되었습니다" 라는 에러 메시지를 뱉는다.

개선 고려해볼 것

  • Json 파일만 지정해주면, jsonText에 string 긁어다 붙일 필요 없이 작동했으면 좋겠다.
    지금은 그래서....

요렇게 반푼이처럼 동작 중이다.

Option Explicit

Sub Main()

'// Import 대상 및 Import해 올 시트 타겟팅
Dim ws As Worksheet
Dim jsonText As String
Dim jsonObject As Object, item As Object
Dim i As Long

Set ws = Worksheets(1)
jsonText = ws.Cells(1, 1) 'json 형식의 문자열을 지정해주기 위한 코드.
Set jsonObject = JsonConverter.ParseJson(jsonText) 'ParseJson(파싱 대상 json)

'//Parsing Process

ws.Cells(2, 1) = "A"
ws.Cells(2, 2) = "B"
ws.Cells(2, 3) = "C"

i = 3

For Each item In jsonObject

    ws.Cells(i, 1) = item("A")
    ws.Cells(i, 2) = item("B")
    ws.Cells(i, 3) = item("C")
    i = i + 1
    
Next

End Sub

관련글 더보기

댓글 영역