네이버 사전이 json구조로 변경이 되어서 lv4에서 lv5로 업데이트 완료
더보기
Option Explicit
Sub Haja_word_Lv4()
Dim rngAll As Range: Set rngAll = Range([a2], [a2].End(4)) '= 단어 영역 순환
Dim rngA As Range
Dim response, test As Object
Dim html As Object: Set html = CreateObject("htmlfile")
Dim xmlhttp As Object: Set xmlhttp = CreateObject("msxml2.xmlhttp")
Dim strUrl$, strplay$
Dim json As Object
Dim temp As Object
rngAll.Next.Resize(rngAll.Rows.Count, 2).ClearContents
ActiveSheet.UsedRange.Borders.LineStyle = xlNone
Application.ScreenUpdating = False
For Each rngA In rngAll '= 각 단어를 순환해라
On Error Resume Next
strUrl = "https://tip.dict.naver.com/phex?callback=jQuery36002027436075452249_1707631029860&cid=1&srcLang=en&tarLang=ko&raw=" & rngA & "&clickedIdx=0&rawQuery=" & rngA & "&prCode=dict&device=pc&skin=ko&service=naver&_=1707631029861"
response = fn.Request(strUrl)
With xmlhttp
response = Split(response, """items""" & ":")(1)
Set json = JsonConverter.ParseJson(response)
If json Is Nothing Then rngA(1, 3) = "단어의 철자를 확인하세요": GoTo haja
strplay = json(1)("pronounceList")(1)("pronunceUrl") '= 음성파일 영역
End With
rngA(1, 2) = Haja_HyLink(CStr(json(1)("pronounceList")(1)("sign")), strplay, rngA(1, 2)) '= 발음 기호부분
Set temp = json(1)("partOfSpeechList")(1)("meaningList")
rngA(1, 3) = temp(1)("desciption")
strplay = ""
On Error GoTo 0
haja:
Next rngA
[a1].CurrentRegion.Borders.LineStyle = 1
Application.ScreenUpdating = False
MsgBox "하자님의 Lv5 영어사전 추출이 완료되었습니다."
End Sub
Function Haja_HyLink(str$, strplay$, rngX As Range)
ActiveSheet.Hyperlinks.Add anchor:=rngX, Address:=strplay, ScreenTip:="[웹브라우저 연결]" '= 발음기호 하이퍼링크 연결
rngX.Font.Underline = xlUnderlineStyleNone
rngX.Font.Color = rgbDarkBlue
rngX.Font.Bold = True
Haja_HyLink = str
End Function
'VBA' 카테고리의 다른 글
[VBA] 네이버사전 LV6(수정완료) (11) | 2024.03.17 |
---|---|
[VBA_파일통합] 폴더속 파일 통합하기 (0) | 2024.03.16 |
[VBA] 스핀단추와 유효성검사 (0) | 2023.08.29 |
[VBA] 사원증만들기(feat. QR코드생성) (0) | 2023.06.28 |
[VBA] 만능폴더 만들기 (0) | 2023.04.18 |
댓글