实现将日语文字转换为utf8编码功能的过程中,起初采用ActiveX部件创建scriptObject对象,直接使用encodeURIComponent来转换字符编码。但在使用过程中,有同事用64位的officeExcel,遇到在64位office上不能使用ActiceX部件,所以更换方法,直接对字符进行编码。记笔记。代码如下:
'使用ActiveX创建scriptObject对象转换字符编码,注意64位office不支持
Public Function UrlEncodeUtf8(ByRef strSource As String) As String
On Error GoTo err5
Dim objScript As Object
Set objScript = CreateObject("ScriptControl")
objScript.Language = "Jscript"
'JavaScriptのencodeURIComponent関数で変換
UrlEncodeUtf8 = objScript.CodeObject.encodeURIComponent(strSource)
Set objScript = Nothing
Exit Function
err5:
Set objScript = Nothing
MsgBox message_box("ERROR_202") + Err.Description
End Function