API 오류가 납니다 ㅠ
VBA
작성자
뉴비엑셀러
작성일
2023-03-03 19:27
조회
91
#If VBA7 Then Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal Milliseconds As LongPtr) #Else Public Declare Sub Sleep Lib "kernel32" (ByVal Milliseconds As Long) #End If Function getSolCalInfo(y1 As Integer, m1 As Integer, d1 As Integer, n As String) As Date Dim OHTTP As WinHttpRequest Dim s_URL, C_Key As String Dim OXML As DOMDocument60 Dim NodeList As IXMLDOMNodeList Dim NodeCell As IXMLDOMNode Dim NodeChild As IXMLDOMNode Dim y2 As Integer, m2 As Integer, d2 As Integer Dim tryCnt As Integer C_Key = [인증키] s_URL = "http://apis.data.go.kr/B090041/openapi/service/LrsrCldInfoService/getSolCalInfo?" & _ "lunYear=" & y1 & _ "&lunMonth=" & m1 & _ "&lunDay=" & d1 & _ "&ServiceKey=" Set OHTTP = New WinHttpRequest OHTTP.Open "Get", s_URL & C_Key OHTTP.send If OHTTP.Status = 200 Then Set OXML = New DOMDocument60 With OXML .LoadXML (OHTTP.responseText) Set NodeCell = .SelectSingleNode("response/body/items/item") End With If NodeCell Is Nothing Then Debug.Print n & " " & DateSerial(y1, m1, d1) Else With NodeCell y2 = .SelectSingleNode("solYear").Text m2 = .SelectSingleNode("solMonth").Text d2 = .SelectSingleNode("solDay").Text End With End If End If getSolCalInfo = DateSerial(y2, m2, d2) End Function
안녕하십니까.
한국천문연구원에서 제공하는 오픈API로 음력 날짜를 양력 날짜로 변경해서 돌려주는 코드를 작성해봤는데요.
작동이 잘 되다가 안되다 하는 이유를 찾지 못해서 질문드립니다.
[출처] Excel VBA로 Open API 정보 가져오기 (국립중앙도서관 서지정보)|작성자 잔마왕
'https://blog.naver.com/550sn/222226473357 << 여기 블로그 참고해서 만들었고
<< 오류는 이런식으로 resultCode는 00 정상으로 오는데 items 내부에 있어야하는 데이터가 하나도 안들어 있습니다..
혹시 뭐가 문제인지 아시는분 계시면 답변 부탁드립니다 ㅠ
https://www.data.go.kr/data/15012679/openapi.do << 오픈API제공 url입니다.
전체 10,226
번호 | 카테고리 | 제목 | 작성자 | 작성일 | 추천 | 조회 |
23년 마지막, "엑셀 기초반" 챌린지! - 3주 완성 특별 스터디 모집 (~3/17(금) 까지) (39)
![]() ![]() |
![]() ![]() |
2023.03.11 | 34 | 4508 | ||
공지사항 | 공지사항 |
⭐ [더 나은 커뮤니티 문화를 위한 Q&A 글 작성 규칙] ⭐
(149)
오빠두엑셀
|
2021.10.28
|
추천 188
|
조회 10768
|
![]() ![]() |
2021.10.28 | 188 | 10768 |
53640 | 문서서식 |
New 날짜 입력과 표시가 안되는군요
![]() ![]() |
![]() |
03:42 | - | 17 |
53637 | 기능/도구 |
New 숨기기 취소 안됨
![]() |
![]() |
01:18 | - | 14 |
53633 | 기능/도구 |
New 증감 셀서식이 적용된 숫자셀과 문자셀을 &로 합칠 수 있나요?
![]() |
![]() |
2023.03.27 | - | 21 |
53628 | 문서서식 |
New 테두리 선 -기본색을 회색으로 바꿀 수는 없을까요?
![]() ![]() ![]() |
![]() ![]() |
2023.03.27 | - | 25 |
53620 | 함수/공식 |
New 다중 함수 문의
![]() ![]() ![]() |
![]() |
2023.03.27 | - | 26 |
53612 | 구글시트 |
New IMPORTRANGE 함수로 동일페이지 다수 탭의 데이터 가져오기
(1)
![]() |
![]() |
2023.03.27 | - | 28 |
53604 | 함수/공식 |
New countifs 정렬 시 걸려있는 참조셀이 뒤죽박죽이 됩니다.
![]() ![]() ![]() |
![]() |
2023.03.27 | - | 30 |
53599 | 피벗테이블 |
New 달성율을 피벗테이블로 추출하기
![]() ![]() |
![]() |
2023.03.27 | - | 26 |
53598 | 함수/공식 |
New 특정 셀이 특정 값일 경우 범위내 셀에서 몇번째 셀부터 마지막까지의 셀 합계를 구하는 수식 문의
![]() ![]() |
![]() |
2023.03.27 | - | 25 |
53594 | VBA |
New 선택한 영역에 원하는 날짜 자동으로 넣는 매크로
![]() |
![]() |
2023.03.27 | - | 26 |
53592 | 함수/공식 |
New 엑셀빈칸채우기(아래값)
![]() ![]() |
![]() |
2023.03.27 | - | 37 |
53587 | 함수/공식 |
New 특정 조건의 수 분리하기
![]() ![]() |
![]() |
2023.03.27 | - | 37 |
53583 | 함수/공식 |
New 문자 자동완성 문의입니다.
![]() ![]() |
![]() |
2023.03.27 | - | 32 |
53581 | VBA |
New 재고관리 프로그램 달력 매크로 드랍다운 추가
![]() ![]() ![]() |
![]() |
2023.03.27 | - | 39 |
53580 | 차트/그래프 |
New y축 그림에 %를 넣고 싶습니다
![]() ![]() |
![]() |
2023.03.27 | - | 37 |
53573 | 함수/공식 |
New max함수, if함수 사용하여 2가지 조건에 맞는 최대/최소값 나타내주고 싶습니다. (첨부파일 있음)
![]() ![]() |
![]() |
2023.03.27 | - | 32 |
53571 | 함수/공식 |
New if함수와v룩업함수 적용
![]() ![]() |
![]() |
2023.03.27 | - | 32 |
53569 | 함수/공식 |
New 셀 내용 변경 시 서식 등으로 표시할 수 있는 함수 있을까요? (VBA 제외)
![]() |
![]() |
2023.03.27 | - | 25 |
53566 | 기능/도구 |
New Mac Office excel 사용 단축키
![]() ![]() |
![]() |
2023.03.27 | - | 16 |
53563 | 함수/공식 |
New FILTER 함수 사용법
![]() ![]() ![]() |
![]() |
2023.03.27 | - | 36 |
53562 | 함수/공식 |
New 엑셀 초보자 입니다. 함수를 어떻게 적용해야 할까요?
![]() ![]() |
![]() |
2023.03.27 | - | 37 |
53559 | 파워쿼리/피벗 |
New [파워쿼리] 연도, 월로 분할하고 싶은데 도와주세요~
![]() ![]() |
![]() |
2023.03.27 | - | 32 |
53557 | 피벗테이블 |
New 피벗 차트 막대그래프 색상 년도별 변경 가능 여부
![]() ![]() ![]() |
![]() |
2023.03.27 | - | 37 |
53551 | VBA |
New 파일로 저장할 때 경로 변경
(2)
답변완료
![]() ![]() |
![]() ![]() |
2023.03.27 | - | 23 |
53543 | 함수/공식 |
New 매크로 대신 함수로 자료찾기 만들고자 합니다.
![]() ![]() |
![]() |
2023.03.27 | - | 54 |
53500 | 함수/공식 |
New (제발도와주세요) 업체와 저희 업체에서 사용 하는 발주#가 중복이여도 불러오게 하고싶어요(중첩함수필요해보임)
![]() ![]() ![]() |
![]() |
2023.03.26 | - | 52 |
53490 | 함수/공식 |
New 함수사용법에 대한 문의
(5)
![]() |
![]() |
2023.03.26 | - | 41 |
53450 | VBA |
New Private Sub Workbook_Open() 자동 실행이 안됩니다
![]() ![]() |
![]() |
2023.03.25 | - | 35 |
53447 | 함수/공식 |
New 데이터 세로 쌓기를 위해서 일정량의 데이터를 반복해서 아래로 붙여 넣을 때 쓸 수 있는 팁을 좀 알려 주세요
(3)
![]() |
![]() |
2023.03.25 | - | 49 |
53434 | 함수/공식 |
New 데이터 유효성 검사에서 바이트수 제한하는 법 문의드립니다.
(4)
답변완료
![]() |
![]() |
2023.03.25 | - | 39 |
@뉴비엑셀러 님 Late Binding으로 수정하고, 윤달을 감안하여 수정한 내용은 아래와 같습니다.
=getSolCalInfo(2023, 2, 15)
음력 윤달인 날짜는 아래처럼 사용합니다.
=getSolCalInfo(2023, 2, 15, "윤")
첨부파일 : 음력을양력으로샘플.xlsm
@뉴비엑셀러 님 API문서를 읽어 보시고
입력할 자리수를 확인해 보세요
연도 4자리 월일은 각각 2자리 입니다
@원조백수 님 데이터는 맞게 넣었는데요 ㅠㅠ
y1=2022, m1=12, d1=22 넣은건 정상적으로 받아오는데 다음에 넣은 y1=2022, m1=09, d1=20은 저렇게 비어서 오네요 ㅠ
근데 이것도 될때 있고 안될때 있고 그럽니다 ㅠㅠ
@뉴비엑셀러 님 m1, d1이 interger인데, 거기에 09를 배치하면 9가 되지 않을까요?
아래처럼 수정해 보세요.
@원조백수 님 그러네요..integer면 0이 사라지는데 그걸 생각 못하고 한참을 헤맸네요 ㅠㅠㅠ 감사합니다.
@뉴비엑셀러 님 무언가..따라갈 수 없는 영역이다...