한글 주소 영문변환 VBA

VBA
작성자
Jaehyuck
작성일
2021-12-19 07:31
조회
103
엑셀버전 : M365

운영체제 : 윈도우10

안녕하세요.

오빠두 덕분에 늘 감사하게 강의 잘 듣고 있습니다.

일전에 올려주신 네이버 검색어와 부동산지도 vba를 활용하여 한글주소를 영문 주소로 변환하는 vba를 만들어 보려고 했는데, 생각처럼 쉽지가 않네요.

일단, 아래와 같이 짰는데, "strResult = htmlResult.body.innerhtml" 이부분에서 "런타임오류 424"가 계속 나옵니다.

이리저리 찾아봐도 해결방법이 안보여 이렇게 질문 드립니다.

혹시 답을 아시는 분 계시면 도움 부탁드릴게요!

미리 감사합니다.

VBA:

-------------------------------------------------------------------------------------

 

Sub EngAddress()

Dim htmlResult As Object '<- GetHTTP 명령문의 결과값 ... >> HTML 문서
Dim strResult As String '<-htmlResult 에서 받아온 HTML 문자열
Dim URL As String
Dim city As String

city = "삼성역"
URL = "https://www.jusoen.com/addreng.asp?p1=" & city

Set htmlResult = GetHttp(URL)
strResult = htmlResult.body.innerhtml

End Sub

전체 3

  • 2021-12-19 14:33
    Sub EngAddress()
    
    Dim htmlResult As Object '<- GetHTTP 명령문의 결과값 ... >> HTML 문서
    Dim strResult As String '<-htmlResult 에서 받아온 HTML 문자열
    Dim URL As String
    Dim city As String
    
    city = "삼성역"
    URL = "https://www.jusoen.com/addreng.asp?p1=" & city
    
    strResult = GetHttp(URL, , , , True).body.innerHTML
    
    Debug.Print strResult
    
    End Sub
    
    Function GetHttp(URL As String, Optional formText As String, _
                                    Optional isWinHttp As Boolean = False, _
                                    Optional RequestHeader As Variant, _
                                    Optional includeMeta As Boolean = False, _
                                    Optional RequestType As String = "GET") As Object
     
    '###############################################################
    '오빠두엑셀 VBA 사용자지정함수 (https://www.oppadu.com)
    '▶ GetHttp 함수
    '▶ 웹에서 데이터를 받아옵니다.
    '▶ 인수 설명
    '_____________URL                         : 데이터를 스크랩할 웹 페이지 주소입니다.
    '_____________formText                 : Encoding 된 FormText 형식으로 보내야 할 경우, Send String에 쿼리문을 추가합니다.
    '_____________isWinHttp               : WinHTTP 로 요청할지 여부입니다. Redirect가 필요할 경우 True로 입력하여 WinHttp 요청을 전송합니다.
    '_____________RequestHeader       : RequestHeader를 배열로 입력합니다. 반드시 짝수(한 쌍씩 이루어진) 개수로 입력되어야 합니다.
    '_____________includeMeta           : TRUE 일 경우 HTML 문서위로 ResponseText를 강제 입력합니다. Meta값이 포함되어 HTML이 작성되며 innerText를 사용할 수 없습니다. 기본값은 False 입니다.
    '_____________RequestType           : 요청방식입니다. 기본값은 "GET"입니다.
    '▶ 사용 예제
    'Dim HtmlResult As Object
    'Set htmlResult = GetHttp("https://www.naver.com")
    'msgbox htmlResult.body.innerHTML
    '###############################################################
     
    Dim oHTMLDoc As Object: Dim objHTTP As Object
    Dim HTMLDoc As Object
    Dim i As Long: Dim blnAgent As Boolean: blnAgent = False
    Dim sUserAgent As String: sUserAgent = "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.183 Mobile Safari/537.36"
     
    Application.DisplayAlerts = False
     
    If Left(URL, 4) <> "http" Then URL = "http://" & URL
     
    Set oHTMLDoc = CreateObject("HtmlFile")
    Set HTMLDoc = CreateObject("HtmlFile")
     
    If isWinHttp = False Then
        Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
    Else
        Set objHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
    End If
     
    objHTTP.setTimeouts 3000, 3000, 3000, 3000
    objHTTP.Open RequestType, URL, False
    If Not IsMissing(RequestHeader) Then
        Dim vRequestHeader As Variant
        For Each vRequestHeader In RequestHeader
            Dim uHeader As Long: Dim Lheader As Long: Dim steps As Long
            uHeader = UBound(vRequestHeader): Lheader = LBound(vRequestHeader)
            If (uHeader - Lheader) Mod 2 = 0 Then GetHttp = CVErr(xlValue): Exit Function
            For i = Lheader To uHeader Step 2
                If vRequestHeader(i) = "User-Agent" Then blnAgent = True
                objHTTP.setRequestHeader vRequestHeader(i), vRequestHeader(i + 1)
            Next
        Next
    End If
    If blnAgent = False Then objHTTP.setRequestHeader "User-Agent", sUserAgent
     
    objHTTP.send formText
     
    If includeMeta = False Then
        With oHTMLDoc
            .Open
            .Write objHTTP.responseText
            .Close
        End With
    Else
        oHTMLDoc.body.innerHTML = objHTTP.responseText
    End If
     
    Set GetHttp = oHTMLDoc
    Set oHTMLDoc = Nothing
    Set objHTTP = Nothing
     
    Application.DisplayAlerts = True
     
    End Function
    

     


  • 2021-12-20 09:37

    유용한 정보 감사합니다.


  • 2021-12-19 21:56

    정말 감사합니다!!

    해결 됐네요!

     


전체 5,121
번호 카테고리 제목 작성자 작성일 추천 조회
알림
하루 딱 "1분", 진짜 쓰는 엑셀 꿀팁 👉 "오빠두엑셀" 인스타그램 오픈! (28)
트로피 오빠두엑셀 | 2021.10.12 | 추천 22 | 조회 744
트로피 오빠두엑셀 2021.10.12 22 744
공지사항 공지사항
⭐ [더 나은 커뮤니티 문화를 위한 Q&A 글 작성 규칙] ⭐ (21)
오빠두엑셀 | 2021.10.28 | 추천 27 | 조회 2315
트로피 오빠두엑셀 2021.10.28 27 2315
26015 함수/공식
New 혹시 Crtl + F 찾기 같은 함수와 있나요
태혁 | 11:39 | 추천 0 | 조회 14
태혁 11:39 0 14
26014 차트/그래프
New 해당 스크린샷의 그래프를 어떻게 만드는지 알려주세요
민석 | 11:39 | 추천 0 | 조회 13
민석 11:39 0 13
26005 함수/공식
New 한 숫자값에 대한, 홀수/짝수값을 나열하고 싶습니다. (4)
땅콩구리아빠 | 08:43 | 추천 0 | 조회 25
땅콩구리아빠 08:43 0 25
26000 VBA
New Rng.find 함수로 찾은 값을 DB안에 넣고싶습니다. (1)
가을전어 | 2022.01.16 | 추천 0 | 조회 28
가을전어 2022.01.16 0 28
25994 함수/공식
New 날짜 입력하면 당일 주야간 합구하는 함수나 방법을 배우러 왔습니다. (1)
현주아빠 | 2022.01.16 | 추천 0 | 조회 27
현주아빠 2022.01.16 0 27
25993 VBA
New workday 함수를 vba로.. (1)
Hong | 2022.01.16 | 추천 0 | 조회 22
Hong 2022.01.16 0 22
25989 차트/그래프
New 표 자동 입력 첨부파일 (2) 답변완료
미르 | 2022.01.16 | 추천 0 | 조회 32
미르 2022.01.16 0 32
25983 함수/공식
New 년도에 따른 출장 일수 구하고 싶은데 도움 부탁드립니다. (1)
kjin1020@naver.com | 2022.01.16 | 추천 0 | 조회 25
kjin1020@naver.com 2022.01.16 0 25
25982 함수/공식
New 입력하면 옆 셀에 자동으로 '1'이 입력되는 방법 (1) 답변완료
올리주인 | 2022.01.16 | 추천 0 | 조회 42
올리주인 2022.01.16 0 42
25973 함수/공식
New index match로 불러온 여러 목록의 사진을 다시 취합해서 불러오고 싶습니다. 첨부파일
배고픈콩콩 | 2022.01.16 | 추천 0 | 조회 36
배고픈콩콩 2022.01.16 0 36
25969 VBA
New 검색한 셀의 가로열 전부를 복사하는 방법이 알고 싶습니다. vba
ㅈㄱㄹ | 2022.01.16 | 추천 0 | 조회 24
ㅈㄱㄹ 2022.01.16 0 24
25945 함수/공식
New if 함수 중첩 (3)
shheee | 2022.01.15 | 추천 0 | 조회 49
shheee 2022.01.15 0 49
25938 기능/도구
New 수식이 포함된 시트에서 수식이 입력된 셀을 제외한 셀을 선택하는 방법을 알고자 합니다 (1)
yya**** | 2022.01.15 | 추천 0 | 조회 34
yya**** 2022.01.15 0 34
25932 문서서식
New 안녕하세요...도움을 요청합니다. 첨부파일 (1)
violet**** | 2022.01.15 | 추천 0 | 조회 46
violet**** 2022.01.15 0 46
25919 함수/공식
New 중복일 경우 1개만 카운트 첨부파일 (3) 답변완료
s77**** | 2022.01.14 | 추천 0 | 조회 79
s77**** 2022.01.14 0 79
25918 함수/공식
New 대출 이자율을 구하는 함수가 있을까요? (3)
늦깎이 | 2022.01.14 | 추천 0 | 조회 59
늦깎이 2022.01.14 0 59
25909 문서서식
New 셀값에 보이지 않는 값이 있습니다 이게 뭔지 알려주세요ㅠㅠ 첨부파일 (2) 답변완료
닉으로 | 2022.01.14 | 추천 0 | 조회 58
닉으로 2022.01.14 0 58
25908 함수/공식
New 혹시 매주 월요일마다 자동 작성되게 할 수 있나요? (5)
태혁 | 2022.01.14 | 추천 0 | 조회 81
태혁 2022.01.14 0 81
25905 대시보드
New 데이터 관리 때문에 질문 드립니다. 첨부파일 (4)
콜럼버스 | 2022.01.14 | 추천 0 | 조회 48
콜럼버스 2022.01.14 0 48
25896 함수/공식
수입, 지출누적액 구하는 방법 (6)
칼있으녀 | 2022.01.14 | 추천 0 | 조회 81
칼있으녀 2022.01.14 0 81
25892 VBA
VBA 크롤링 - innerText 의 특정 문자 제외하는 방법 도움요청드립니다. (5) 답변완료
98e | 2022.01.14 | 추천 0 | 조회 49
98e 2022.01.14 0 49
25888 함수/공식
일주일째 골머리 입니다 도움요청드립니다 첨부파일 (5)
k5188 | 2022.01.14 | 추천 0 | 조회 133
k5188 2022.01.14 0 133
25884 함수/공식
참조가 잘안되면 어떤 함수를 써야하나요 (3)
박모씨 | 2022.01.14 | 추천 0 | 조회 59
박모씨 2022.01.14 0 59
25876 피벗테이블
피벗으로 가공한 데이터 정렬 문의 첨부파일 (2) 답변완료
엑셀어린잉 | 2022.01.13 | 추천 0 | 조회 54
엑셀어린잉 2022.01.13 0 54
25875 함수/공식
ROW 함수를 이용한 셀좌표값을 SUMIF 문에 자동으로 입력되게 할수 없을까요? 첨부파일 (6)
속등가설분전반 | 2022.01.13 | 추천 0 | 조회 68
속등가설분전반 2022.01.13 0 68
25873 함수/공식
importhtml 함수 질문드립니다. 첨부파일 (1) 답변완료
감성카드 | 2022.01.13 | 추천 0 | 조회 59
감성카드 2022.01.13 0 59
25872 함수/공식
수식 질문 첨부파일 (6) 답변완료
k5188 | 2022.01.13 | 추천 0 | 조회 65
k5188 2022.01.13 0 65
25870 VBA
VBA로 IE다루는 중 웹페이지 대화상자 닫는 법 (1)
케케케 | 2022.01.13 | 추천 0 | 조회 40
케케케 2022.01.13 0 40
25869 문서서식
항상고맙습니다...어려운 부문이 있어 문의드립니다. 첨부파일
violet**** | 2022.01.13 | 추천 0 | 조회 50
violet**** 2022.01.13 0 50
25868 파워쿼리/피벗
쿼리 새로고침 시 중복데이터 (1)
뿌잉뿌잉 | 2022.01.13 | 추천 0 | 조회 34
뿌잉뿌잉 2022.01.13 0 34