메뉴

DecodeURL

Function

URL 주소를 기존의 한글 또는 영문 주소로 디코딩하는 VBA 사용자 지정 함수입니다.

DecodeURL 코드 미리보기
구문 = DecodeURL ( URL주소, [출력여부] )
인수구분 형식 설명
URL주소 필수 Variant
한글 또는 영문으로 변환할 URL 주소입니다.
출력여부 선택
결과값을 출력할지 여부를 결정합니다. 기본값은 TRUE 입니다.

마스터 코드

복사한 코드는 VBA 편집기(Alt + F11) 새 모듈에 붙여넣어 사용하세요
Module1 · DecodeURL
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

활용 예제

인코딩된 주소를 한글 주소로 되돌리기
= DecodeURL ( "https://www.oppadu.com/%EC%97%91%EC%85%80-%EA%B0%95%EC%A2%8C/" )
'// https://www.oppadu.com/엑셀-강좌/ 를 반환합니다.
여러 셀에 담긴 주소를 한 번에 변환
Sub URL_한글변환()
Dim Rng As Range
For Each Rng In Range("B2:B10")
Rng.Offset(0, 1).Value = DecodeURL(Rng.Value)
Next
End Sub
댓글 5
4 (4개 평가)
굴레악
굴레악 2021.04.22 22:20
예제 파일이 ENCODEURL 파일이네요. 확인해 주세요.
다행히 설명에 코드는 Decode로 돼 있어서 수정했네요.
이제 코드가 좀 보이기 시작하네요.
고맙습니다.
하회탈
하회탈 2023.10.04 12:41
안녕하세요.
DECODEURL 사용시 엑셀 시트에서 사용하면 정상적으로 되지만 VBA 내에서 사용시 "5-1. 现代电力" 을 DECODEURL 해보면 "5-1. ?代?力" 이렇게 변환이 됩니다. 중국어 뿐만 아니라 중동등 몇몇국가 언어가 제대로 DECODE가 되지 않습니다. 어떻게 해야 할까요?
오빠두엑셀
오빠두엑셀 작성자 2023.10.10 20:09
안녕하세요.
말씀하신 문제는 사용중인 윈도우의 시스템 언어 충돌로 인해 발생하는 것으로 보입니다.
아래 링크를 참고하셔서, 시스템 로캘 설정을 변경 후 다시 실행해보시겠어요?
https://www.oppadu.com/question/?mod=document&uid=18143
감사합니다.
하회탈
하회탈 2023.10.04 13:01
DECODEURL("5-1.%20%E7%8E%B0%E4%BB%A3%E7%94%B5%E5%8A%9B-%E4%B8%AD%E5%9B%BD%E7%A0%94%E7%A9%B6%E6%89%80%E7%A0%94%E5%8F%91%E4%B8%9A%E5%8A%A1%E5%A7%94%E6%89%98%E5%90%88%E5%90%8C%202022%E5%B9%B4%E6%9C%80%E7%BB%88%E7%89%88F") 하면 "5-1. ?代?力" 이렇게 결과가 나옵니다.
강민준🤗
강민준🤗 2024.08.11 12:08
좋은 자료 감사합니다.🙇‍♂️
스크랩 완료