본문 바로가기

지식저장소/지식KIN

엑셀 URL 인코딩(encode) 및 디코딩(decode) 함수 excel function [VBA]

출처: https://cocosoft.kr/442 [코코소프트:티스토리]

 

엑셀 URL 인코딩(encode) 및 디코딩(decode) 함수 excel function [VBA]

안녕하세요. 오늘은 엑셀의 URL 인코딩과 디코딩 함수에 대해서 알아보겠습니다. ( excel url encode decode ) 엑셀2013 부터는 ENCODEURL 함수 가 포함되어있습니다. 하지만 따로 decode함수는 없습니다. 그래

cocosoft.kr


(저장용)

URL Decode&Encode.zip
0.00MB



안녕하세요. 오늘은 엑셀의 URL 인코딩과 디코딩 함수에 대해서 알아보겠습니다.
( excel url encode decode )

엑셀2013 부터는 ENCODEURL 함수 가 포함되어있습니다.

하지만 따로 decode함수는 없습니다. 그래서 사용자정의함수 설정을 해주어야합니다.
사용자 정의함수를 사용하기 위해서 VBA 를 켜줍시다. 

단축키

Alt

+F11 를 누르거나, 아래와 같이 리본메뉴를 추가해주면 됩니다.

1. VBA 실행 후 모듈추가

Alt

+F11 를 누르거나 개발도구탭을 통해서 VBA 편집기로 접속해줍니다.

해당 엑셀파일 문서에서 다음과 같이 모듈을 추가해줍니다.

아래와 같이 입력하면 됩니다.

ENCODEURL 함수DECODEURL 함수입니다.

Markup

Function ENCODEURL(varText As Variant, Optional blnEncode = True)
Static objHtmlfile As Object
    If objHtmlfile Is Nothing Then
      Set objHtmlfile = CreateObject("htmlfile")
      With objHtmlfile.parentWindow
        .execScript "function encode(s) {return encodeURIComponent(s)}", "jscript"
      End With
    End If
    If blnEncode Then
      ENCODEURL = objHtmlfile.parentWindow.encode(varText)
    End If
End Function

Function DECODEURL(varText As Variant, Optional blnEncode = True)
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

 

2. 사용예