DECODEURL 함수 사용법 및 전체 명령문 :: URL주소를 한글로 변환

URL 주소를 기존의 한글/영문으로 디코딩하는 DECODEURL 함수의 사용법 및 전체 명령문 동작원리를 알아봅니다.

작성자 :
오빠두엑셀
최종 수정일 : 2020. 10. 12. 02:21
URL 복사
메모 남기기 : (5)

DECODEURL 함수 :: 사용자 지정 함수 (VBA)

예제파일
엑셀 예제파일 다운로드_아이콘

요약

DECODEURL 함수는 URL주소를 한글 또는 영문으로 변환하는 함수입니다.

설명

DECODEURL 함수는 URL 주소를 기존의 한글 또는 영문주소로 변환하는 함수입니다. 한글이나 영문을 URL주소로 인코딩하려면 ENCODEURL (VBA) 함수를 사용할 수 있습니다.

VBA DECODEURL 함수 사용예제
DECODEURL 함수로 URL 주소를 한글주소로 변환합니다.

반환값

URL주소를 디코딩된 한글 또는 영문 주소로 반환합니다.

인수

URL주소 한글 또는 영문으로 변환할 URL 주소입니다.
[출력여부] 결과값을 출력할지 여부를 결정합니다. 기본값은 TRUE 입니다.

VBA 코드

Function DECODEURL(varText As Variant, Optional blnEncode = True)
 
'############################################################
'한글/영문 텍스트를 URL 주소로 변경합니다.
'https://www.oppadu.com/vba-decodeurl-함수/
'############################################################
 
Static objHtmlfile As Object
 
If objHtmlfile Is Nothing Then
    Set objHtmlfile = CreateObject("htmlfile")
    With objHtmlfile.parentWindow
    .execScript "function decode(s) {return decodeURIComponent(s)}", "jscript"
    End With
End If
 
If blnEncode Then
    DECODEURL = objHtmlfile.parentWindow.decode(varText)
End If
 
End Function

세부내용

1. objHtmlFile 이라는 HtmlFile 개체를 변수로 생성합니다.
Static objHtmlfile As Object
 
If objHtmlfile Is Nothing Then
    Set objHtmlfile = CreateObject("htmlfile")
End If
2.  생성한 HTML 개체에 decodeURIComponent 함수를 사용해 decode 라는 또다른 모듈내부의 함수를 생성합니다. 

decodeURIComponent 함수에 대한 Javascript 함수 설명은 Mozilla 공식 홈페이지 관련 링크를 참고하세요.

    With objHtmlfile.parentWindow
    .execScript "function decode(s) {return decodeURIComponent(s)}", "jscript"
    End With
3.  [출력여부] 인수 값이 True면, 함수의 결과값으로 디코딩된 한글/영문 주소를 반환합니다.
If blnEncode Then
    DECODEURL = objHtmlfile.parentWindow.decode(varText)
End If
4 4 투표
게시글평점
5 댓글
Inline Feedbacks
모든 댓글 보기
5
0
여러분의 생각을 댓글로 남겨주세요.x