VBAでURLエンコードする場合、以下の様にScriptControlを使ってエンコードする方法が紹介されていました。
1 2 3 4 5 6 |
Private Function EncodeURL(ByVal Target As String) As String With CreateObject("ScriptControl") .Language = "JScript" EncodeURL = .CodeObject.encodeURIComponent(Target) End With End Function |
これを64bit版のExcel等で実行するとこんな感じに「実行時エラー'-2147221164 (80040154)':クラスが登録されていません。」とエラーになってしまいます。

Excel2013からはENCODEURLというワークシート関数が用意されており、より簡単にURLエンコードできます。
1 |
WorksheetFunction.EncodeURL("ほげほげ") |