본문 바로가기
  • Welcome!
VBA For Windchill

WC와 엑셀 VBA 연결 (EXCEL VBA 에서 Http Request) 환경설정

by ToolBOX01 2024. 6. 20.
반응형

엑셀은 데이터 분석 및 관리에 강력한 도구이지만, 웹 데이터를 직접 가져오거나 웹 서비스와 연동하는 기능에는 다소 부족합니다. 하지만 VBA를 통해 HTTP 요청 기능을 활용하면 엑셀의 능력을 한 단계 업그레이드하여 다양한 분야에서 유용한 도구로 활용할 수 있습니다.

  • 웹 데이터를 가져올수 있습니다
  • 웹 서비스와 연동 할수 있습니다. - 웹 서비스를 통해 자동으로 데이터를 업데이트하거나 보고서를 생성하는 등 자동화된 업무 프로세스를 구축할 수 있습니다.
  • 데이터 시각화 강화 합니다. -  웹 데이터를 기반으로 차트, 그래프 등 다양한 시각화 도구를 활용하여 데이터를 더욱 효과적으로 표현하고 분석할 수 있습니다.

엑셀 VBA로 HTTP 요청 기능을 활용하면 웹 데이터를 손쉽게 가져오고 웹 서비스와 연동하여 엑셀의 기능을 한 단계 더 강화하고 다양한 분야에서 유용한 도구로 활용할 수 있습니다.


□ 필요한 라이브러리

1. Microsoft WinHTTP Services

Microsoft WinHTTP Services는 VBA에서 웹 요청 및 응답을 처리하는 데 사용되는 강력한 라이브러리입니다. 마치 웹 브라우저처럼 웹 서버와 직접 통신하여 다양한 작업을 수행할 수 있도록 해줍니다.

핵심 기능:

  • HTTP 요청 및 응답: GET, POST, PUT, DELETE 등 다양한 HTTP 요청을 보내고 서버로부터 응답을 받을 수 있습니다.
  • 헤더 및 본문 데이터 설정: 요청 및 응답 헤더와 본문 데이터를 자유롭게 설정하여 원하는 정보를 주고받을 수 있습니다.
  • 쿠키 및 인증 처리: 웹 사이트에 필요한 쿠키를 설정하고 인증을 처리하여 로그인 등 복잡한 작업도 수행할 수 있습니다.
  • SSL/TLS 보안 지원: 안전한 HTTPS 연결을 통해 민감한 정보를 보호하며 안전하게 데이터를 주고받을 수 있습니다.
  • 프록시 설정: 특정 네트워크 환경에서 프록시 서버를 통해 웹 요청을 보낼 수 있습니다.

 

2. Microsoft XML 3.0

XML 데이터를 읽고, 생성하고, 조작하는 데 사용되는 라이브러리입니다. 마치 XML 문서를 편집하는 전문가 도구처럼 다양한 기능을 제공하여 XML 데이터를 손쉽게 처리할 수 있도록 돕습니다.

핵심 기능:

  • XML 문서 로드 및 파싱: XML 파일 또는 문자열을 로드하여 DOM(Document Object Model) 트리 형식으로 파싱하여 각 요소, 속성, 텍스트 콘텐츠 등을 자유롭게 다룰 수 있습니다.
  • XML 문서 생성: 새로운 XML 문서를 생성하고 원하는 구조대로 요소, 속성, 텍스트 콘텐츠를 추가 및 편집할 수 있습니다.
  • XML 데이터 조작: XML 문서의 요소, 속성, 텍스트 콘텐츠를 추가, 삭제, 수정 등 다양한 작업을 통해 원하는 형태로 데이터를 조작할 수 있습니다.
  • XPath 검색: XPath 표현식을 사용하여 XML 문서에서 원하는 데이터를 빠르고 정확하게 검색하고 추출할 수 있습니다.
  • XSLT 변환: XSLT 스타일시트를 사용하여 XML 문서를 다른 형식의 데이터(HTML, JSON 등)로 변환하거나 XML 문서 자체를 변형할 수 있습니다.

 

 

3. JSON PARSER 설치

 

JSON 파서란?
JSON 파서는 JSON 형식의 데이터를 읽어서 우리가 이해할 수 있는 데이터 구조로 바꿔주는 프로그램입니다. 엑셀 VBA 자체에는 JSON을 파싱하는 기능이 없어서 외부에서 만들어진 JSON 파서를 사용해야 합니다.

파일 위치 : VBA-JSON GitHub 페이지로 이동

JSON이란?
JSON은 JavaScript Object Notation의 약자로, 데이터를 저장하고 전송할 때 사용하는 간단한 텍스트 형식이에요. 주로 웹 애플리케이션에서 서버와 클라이언트 간에 데이터를 주고받을 때 많이 사용됩니다.

JSON을 사용하는 이유

1) 사람이 읽기 쉬움
JSON은 사람이 읽고 이해하기 쉬운 구조로 되어 있어요. 예를 들어, 아래와 같은 형태로 데이터를 표현합니다:

{
  "name": "John",
  "age": 30,
  "city": "New York"
}

 

2) 기계가 처리하기 쉬움
JSON은 컴퓨터 프로그램이 쉽게 처리할 수 있는 구조로 되어 있어요. 그래서 다양한 프로그래밍 언어에서 JSON을 쉽게 읽고 쓸 수 있습니다.

 

3) 간결함
JSON은 데이터를 간결하게 표현할 수 있어요. XML과 같은 다른 데이터 형식에 비해 덜 복잡하고, 더 적은 용량을 차지합니다. 예를 들어, 동일한 데이터를 아래와 같이 XML로 표현하면 더 길고 복잡해집니다:

<person>
  <name>John</name>
  <age>30</age>
  <city>New York</city>
</person>

 

4) 유연성
JSON은 배열과 객체를 포함할 수 있어서 복잡한 데이터 구조도 쉽게 표현할 수 있어요. 예를 들어, 여러 사람의 정보를 배열로 표현할 수 있습니다:

[
  {
    "name": "John",
    "age": 30,
    "city": "New York"
  },
  {
    "name": "Jane",
    "age": 25,
    "city": "Los Angeles"
  }
]

 

5) 광범위한 지원
JSON은 대부분의 프로그래밍 언어와 웹 기술에서 기본적으로 지원됩니다. 그래서 웹 개발자들이 많이 사용합니다.

 

4. Microsoft Scripting Runtime

VBA에서 다양한 스크립팅 언어를 지원하는 강력한 기능입니다. 마치 여러 언어를 구사하는 통역가처럼 VBA 코드에 다양한 스크립팅 언어의 기능을 활용할 수 있도록 해줍니다.

 

핵심 기능:

  • VBScript, JScript, PerlScript 등 다양한 스크립팅 언어 지원: VBScript 외에도 JScript(JavaScript), PerlScript 등 다양한 스크립팅 언어를 VBA 코드 내에서 사용할 수 있습니다.
  • 스크립팅 객체 및 메서드 활용: 각 스크립팅 언어가 제공하는 객체 및 메서드를 활용하여 다양한 기능을 수행할 수 있습니다.
  • 스크립팅 엔진 관리: 스크립팅 엔진을 생성, 실행, 종료 등을 제어하여 스크립팅 코드를 효율적으로 관리할 수 있습니다.
  • 스크립팅 오류 처리: 스크립팅 실행 과정에서 발생하는 오류를 처리하고 디버깅할 수 있습니다.