String 在VBA中将Unicode转义字符(\u#####格式)转换为UTF-8?

String 在VBA中将Unicode转义字符(\u#####格式)转换为UTF-8?,string,vba,unicode,utf-8,encode,String,Vba,Unicode,Utf 8,Encode,我想在VBA中将“text”变量中的特殊字符转换回正常值 Dim text As String text = "Cs\u00fct\u00f6rt\u00f6k" text = Encoding.utf8.GetString(Encoding.ASCII.GetBytes(text)) MsgBox text 'Csütörtök would be the correct result 但是在上面的代码中,Excel 2013给出了一个关于“编码”

我想在VBA中将“text”变量中的特殊字符转换回正常值

    Dim text As String
    text = "Cs\u00fct\u00f6rt\u00f6k" 
    text = Encoding.utf8.GetString(Encoding.ASCII.GetBytes(text)) 
    MsgBox text 
    'Csütörtök would be the correct result
但是在上面的代码中,Excel 2013给出了一个关于“编码”方法的错误。。无法解析它

如果您输入文本值,则其工作方式应与此联机转换器相同:

这个问题有什么好的解决办法吗?也许是一行代码?
提前谢谢

Encoding类不解码转义序列,您必须通过自己解析字符串手动执行此操作。因此,VB字符串使用UTF-16,因此根本不需要使用
编码
类。只需将字符2-7(
“\u00fc”
)替换为单个
&H00FC
字符,将字符9-14(
“\u00f6”
)替换为单个
&H00F6
字符,依此类推即可。每个
\uxxx
序列代表一个Unicode码点。

谢谢您的回答!:)