EncodeURL メモ


EncodeURL:Excel

workSheet : EncodeURL("たくわん和尚")
マクロ : Application.WorksheetFunction.EncodeURL("たくわん和尚")

EncodeURL:VBScript

EncodeURL
'==================================================
' 64bit環境では、CreateObject("ScriptControl")が効かない為でした。32bit仕様で動かす。
'x:\>C:\Windows\SysWOW64\cscript test.vbs
'==================================================

WScript.Echo fnURLENCODE2013("たくわん和尚")
WScript.Echo UrlEncodeUtf8("たくわん和尚")
WScript.Echo URLDecodeUTF8(UrlEncodeUtf8("たくわん和尚"))

'==================================================
'fnURLENCODE2013: 文字列をUTF-8でエンコードするFunction
'たくわん和尚 -> %E3%81%9F%E3%81%8F%E3%82%8F%E3%82%93%E5%92%8C%E5%B0%9A
'==================================================
'strSource: 元の文字列
'返り値: エンコードされた文字列
'==================================================
Function fnURLENCODE2013(str)
    Dim xlApp: Set xlApp = CreateObject("Excel.application")
    fnURLENCODE2013 = xlApp.WorksheetFunction.EncodeURL(str)
    Set xlApp = Nothing
End Function

'==================================================
'UrlEncodeUtf8: 文字列をUTF-8でエンコードするFunction
'たくわん和尚 -> %E3%81%9F%E3%81%8F%E3%82%8F%E3%82%93%E5%92%8C%E5%B0%9A
'==================================================
'strSource: 元の文字列
'返り値: エンコードされた文字列
'==================================================
Public Function UrlEncodeUtf8(strSource)
    Dim objSC
    Set objSC = CreateObject("ScriptControl")
    objSC.Language = "Jscript"
    UrlEncodeUtf8 = objSC.CodeObject.encodeURIComponent(strSource)
    Set objSC = Nothing
End Function

'==================================================
'UrlDecodeUtf8: 文字列をUTF-8でデコードするFunction
'%E3%81%9F%E3%81%8F%E3%82%8F%E3%82%93%E5%92%8C%E5%B0%9A -> たくわん和尚
'==================================================
'strSource: 元の文字列
'返り値: エンコードされた文字列
'==================================================
Public Function URLDecodeUTF8(strSource)
    Dim objSC
    Set objSC = CreateObject("ScriptControl")
    objSC.Language = "Jscript"
    URLDecodeUTF8 = objSC.CodeObject.decodeURIComponent(strSource)
    Set objSC = Nothing
End Function

物忘れ防止 VBScript Encode.vbs