Microsoft Excel

Excel VBA - XML 및 JSON 처리

D13 2025. 3. 17. 10:28
728x90
반응형
SMALL

 

 
  

엑셀 함수 시리즈 #55: VBA XML 및 JSON 처리 - 데이터 교환의 핵심

VBA(Visual Basic for Applications)를 사용하면 XML 및 JSON 형식의 데이터를 엑셀에서 처리하고 활용할 수 있습니다. XML 및 JSON은 다양한 시스템 간 데이터 교환에 사용되는 표준 형식이며, VBA를 통해 이러한 데이터를 처리하면 엑셀 데이터 분석의 범위를 확장하고 다양한 시스템과 연동할 수 있습니다. 이번 글에서는 VBA XML 및 JSON 처리의 기본 개념과 주요 방법, 활용 예시를 알아보겠습니다.

반응형

1. XML 및 JSON 처리의 필요성

  • 다양한 시스템 간 데이터 교환: XML 및 JSON은 다양한 시스템 간 데이터 교환에 사용되는 표준 형식입니다.
  • 웹 API 활용: 웹 API는 XML 또는 JSON 형식으로 데이터를 제공하므로, VBA를 통해 웹 API를 활용할 수 있습니다.
  • 데이터 저장 및 관리: XML 또는 JSON 형식으로 데이터를 저장하고 관리할 수 있습니다.

2. XML 처리

  1. MSXML 라이브러리 참조 추가: VBA 편집기에서 '도구' > '참조'를 클릭하고 'Microsoft XML, v6.0'을 선택합니다.
  2. XML 문서 로드: DOMDocument 개체를 사용하여 XML 문서를 로드합니다.
  3. XML 데이터 추출: SelectSingleNode, SelectNodes 메서드를 사용하여 XML 데이터를 추출합니다.
  4. XML 데이터 수정: CreateElement, CreateTextNode, AppendChild 메서드를 사용하여 XML 데이터를 수정합니다.

3. JSON 처리

  1. JSON 라이브러리 추가: VBA JSON 라이브러리(예: VBA-JSON)를 추가합니다.
  2. JSON 문자열 파싱: JsonConverter.ParseJson 함수를 사용하여 JSON 문자열을 딕셔너리 또는 배열로 변환합니다.
  3. JSON 데이터 추출: 딕셔너리 또는 배열의 키 또는 인덱스를 사용하여 JSON 데이터를 추출합니다.
  4. JSON 문자열 생성: JsonConverter.ConvertToJson 함수를 사용하여 딕셔너리 또는 배열을 JSON 문자열로 변환합니다.
728x90

4. XML 처리 예시

VBA
 
Sub XMLProcessingExample()
    Dim xmlDoc As Object
    Dim node As Object

    Set xmlDoc = CreateObject("MSXML2.DOMDocument")
    xmlDoc.Load "C:\Data\data.xml"

    Set node = xmlDoc.SelectSingleNode("/root/item/name")
    MsgBox node.Text

    Set xmlDoc = Nothing
    Set node = Nothing
End Sub

5. JSON 처리 예시

VBA
 
Sub JSONProcessingExample()
    Dim jsonString As String
    Dim json As Object

    jsonString = "{""name"": ""홍길동"", ""age"": 30}"
    Set json = JsonConverter.ParseJson(jsonString)

    MsgBox json("name")
    MsgBox json("age")

    Set json = Nothing
End Sub
SMALL

6. XML 및 JSON 처리 시 주의 사항

  • XML 및 JSON 문법을 정확하게 이해해야 합니다.
  • XML 및 JSON 데이터를 처리하기 전에 데이터 구조를 파악해야 합니다.
  • 대용량 XML 및 JSON 데이터를 처리할 때는 메모리 사용량에 주의해야 합니다.

7. 마무리

VBA XML 및 JSON 처리를 통해 엑셀 데이터 분석의 범위를 확장하고 다양한 시스템과 연동할 수 있습니다. 다양한 XML 및 JSON 처리 방법을 활용하여 데이터 교환 능력을 향상시키세요.

728x90
반응형
LIST