본문으로 바로가기

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

( excel url encode decode )


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


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



사용자 정의함수를 사용하기 위해서 VBA 를 켜줍시다. 


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


1. VBA 실행 후 모듈추가

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


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



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

ENCODEURL 함수DECODEURL 함수입니다.



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. 사용예