이 페이지에서
구문
= EncodeURL ( 문자열, [출력여부] )
인수구분
형식 설명
문자열
필수
Variant
URL 주소로 변경할 한글·영문·특수기호가 포함된 문자열입니다.
문자열이 입력된 셀을 선택할 수도 있습니다.
출력여부
선택
Boolean
FALSE 일 경우 결과값을 출력하지 않습니다. 기본값은 TRUE 입니다.
마스터 코드
복사한 코드는 VBA 편집기(Alt + F11) 새 모듈에 붙여넣어 사용하세요Function ENCODEURL(varText As Variant, Optional blnEncode = True)
'###############################################################
'오빠두엑셀 VBA 사용자지정함수 (https://www.oppadu.com)
'▶ EncodeURL 함수
'▶ 한글/영문, 특수기호가 포함된 문자열을 웹 URL 표준 주소로 변환합니다.
'▶ 인수 설명
'_____________varTest : 표준 URL 주소로 변환할 문자열입니다.
'_____________blnEncode : TRUE 일 경우 결과값을 출력합니다.
'▶ 사용 예제
's = "http://www.google.com/search=사과"
's = ENCODEURL(s)
'MsgBox s
'###############################################################
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
활용 예제
한글이 포함된 주소를 표준 URL 주소로 변환하기
Sub Test()
Dim s As String
s = "http://www.google.com/search=사과"
s = ENCODEURL(s)
MsgBox s
'결과값으로 http%3A%2F%2Fwww.google.com%2Fsearch%3D%EC%82%AC%EA%B3%BC 가 반환됩니다.
End Sub
안내사항
엑셀 2016 이후 버전에서는 ENCODEURL 이 기본 내장 함수로 제공되므로, 2013 이전 버전에서만 이 명령문을 추가해 사용합니다.
URL 주소를 다시 한글·영문 문자열로 되돌리려면 DECODEURL 함수를 사용합니다.
Mac에서도 됩니다.
좋은 정보 감사드립니다 :)
저도 위에 댓글 남겨주신 분과 같이 mac용 MS Excel 사용중이고 버전은 16.75.2(23년 업데이트 버전) 사용 중인데요,
decodeurl 또는 encodeurl 함수가 없는 것 같습니다...ㅠ
MS 공홈을 확인해보니, Encode/DecodrURL 함수는 윈도우 엑셀에서만 제공된다고 합니다.
https://support.microsoft.com/ko-kr/office/encodeurl-%ED%95%A8%EC%88%98-07c7fb90-7c60-4bff-8687-fac50fe33d0e
VBA 함수 또한 윈도우에서만 제공되는 라이브러리가 사용되어, Mac에서는 사용할 수 없으니 이 점도 참고해주세요.
감사합니다!