반응형
Dart Open API에서 개발가이드 → 상장기업 재무정보 → 단일회사 주요계정에서 "스튜디오드래곤" 재무 정보를 가져오는 프로그램을 만들어 봅니다.
WinHTTP 라이버리를 활용하여 "Get" 키로 URL 정보를 입력하면 필요한 정보를 받을 수 있고, 이것의 사용 방법은 위 그림을 참고 합니다. "GET" , URL, 인증크, 교유번호, 사업연도, 보고서 코드를 "&"로 연결 하여, 서버에사 아래와 같은 내용을 가겨 옵니다.
가져온 xml 파일을 엑셀에서 Open 하였습니다
▷▷ 참고 자료)
데이터는 가져오는 방법중 "바이너리"로 가져올수 있습니다. 기계가 이해 하는 이진법 문서(텍스트) 저장 방법 입니다.
텍스트파일 저장형식은 "유니코드", "ANSI", "UTF-8" 형식이 있습니다.
UTF-8 인코딩은 다양한 언어로 쓰여진 문자를 컴퓨터가 이해하고 처리할 수 있도록 하는 중요한 역할을 합니다.
XML 파일 타입으로 재무 정보 파일을 폴더에 저장 하겠습니다.
Option Explicit
Sub Open_API01()
'// 변수 선언
Dim strURL, FileName As String
Dim OHTTP As WinHttpRequest
Set OHTTP = New WinHttpRequest '// WinHttpRequest 객체 생성
'//API URL 설정
strURL = "https://opendart.fss.or.kr/api/fnlttSinglAcnt.xml?crtfc_key= 인증코드&corp_code=01168684&bsns_year=2019&reprt_code=11011"
'// GET 요청 설정 및 전송
OHTTP.Open "Get", strURL, False
OHTTP.Send
'// 상태 코드 및 응답 본문 확인
Debug.Print "Status: " & OHTTP.Status
Debug.Print "ResponseText: " & OHTTP.ResponseText
Debug.Print "ResponseBody length: " & LenB(OHTTP.ResponseBody)
If OHTTP.Status = 200 Then '// 응답 처리 (성공 시, 상태 코드 200)
'// 바이너리 파일 저장 (UTF-8 인코딩으로 저장)
FileName = "G:\Dart\DartTest.xml"
Open FileName For Binary Access Write As #1
Put #1, 1, OHTTP.ResponseBody
Close #1
End If
End Sub
▷▷ 주의 사항
'// 상태 코드 및 응답 본문 확인
Debug.Print "Status: " & OHTTP.Status
Debug.Print "ResponseText: " & OHTTP.ResponseText
Debug.Print "ResponseBody length: " & LenB(OHTTP.ResponseBody)
인증코드 입력이 잘못돤 경우 오류가 발생 합니다.
요구한 데이터가 없을 경우 오류가 발생 합니다.
참고 : XML 파일 정렬 방법
먼저 불필요한 문자를 제거 해야 합니다.
WinHttpRequest로 사이트 패이지 내용 보기(html 파일 형식)
'VBA For Windchill' 카테고리의 다른 글
Windchill & VBA 02) Creating a WTPart (부품) (0) | 2024.06.26 |
---|---|
Windchill & VBA 02) NONCE Token (0) | 2024.06.25 |
학습 01) Open API, 엑셀 VBA (0) | 2024.06.21 |
WC와 엑셀 VBA 연결 (EXCEL VBA 에서 Http Request) 환경설정 (0) | 2024.06.20 |
Windchill : Common Space에 저장된 모델의 URL을 가져오는 방법 (0) | 2024.06.19 |