2017년 11월 16일 목요일

EXCEL VBA 에서 Http Request 하는 방법

VBA 도구를 만들다가 외부 API 와 통신할 일이 있어서 남기는 기록이다.
보통 Open API 를 이용하면 JSON 으로 리턴되므로 이걸 파싱해서 쓰면 된다.

아래코드를 실행 하기 전에, 참조를 추가해야 한다.

Visual Basic 도구, 참조 메뉴에서
Microsoft WinHTTP Services, version 5.1 이 사용하도록 체크되어 있어야 한다.



참고 소스 코드

Function requestHTTP()

Dim PostData As String
Dim T As String

'Web에서 가져오기, 에러 발생하면 참조모듈 확인 (Microsoft WinHttpRequest 가 참조되어야 함)
Dim httpRequest As New WinHttpRequest

'아래에 넘길 포스트 데이터를 적는다.
    PostData = "postData=_postData" 
    
        With httpRequest
        .Open "POST", "http://오픈할 Open API 주소"
        .SetRequestHeader "Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"
        .Send PostData
        .WaitForResponse: DoEvents
        T = .ResponseText
        
    End With

requestHTTP = T
    
End Function

댓글 1개:

  1. '아래에 넘길 포스트 데이터를 적는다.
    PostData = "여기에 보낼 값"

    답글삭제