본문 바로가기

IT

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