DECODEURL 함수 :: 사용자 지정 함수 (VBA)
예제파일 |
요약
DECODEURL 함수는 URL주소를 한글 또는 영문으로 변환하는 함수입니다.
설명
DECODEURL 함수는 URL 주소를 기존의 한글 또는 영문주소로 변환하는 함수입니다. 한글이나 영문을 URL주소로 인코딩하려면 ENCODEURL (VBA) 함수를 사용할 수 있습니다.

반환값
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