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

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

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

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 주소로 변경합니다.
'http://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

관련 기초함수 설명 | by 오빠두엑셀

VBA ENCODEURL 함수 사용법
ENCODEURL 함수 사용법 및 전체 명령문 :: 한글을 URL로 바꿔주는 함수
예제파일 ENCODEURL 함수는 한글 또는 영문 문자열을 URL 주소로 변경하는 함수입니다. 엑셀 2016 이후 버전에서는 엑셀의 기본 내장함수로 제공됩니다. 우측의 ...

관련공식 포스트 | by 오빠두엑셀

글을 발견하지 못했습니다.
현재 페이지 댓글알림 신청
알림 설정
guest
0 Comments
Inline Feedbacks
View all comments
0
여러분의 생각을 댓글로 남겨주세요.x