在VBA中转换Unicode十六进制字符串

时间:2013-04-29 12:55:35

标签: vba unicode string-conversion

我有一些存储在数据库中的字符串数据,其中特殊字符表示为Unicode十六进制。我想转换数据。

如果没有替换每个特殊字符,有没有人知道如何在VBA中这样做。

例如:我期待的转换是:

Opera \'e7 \'e3o - > Operação

谢谢!

1 个答案:

答案 0 :(得分:0)

试试这个示例代码:

Dim myStr
Dim nStart,nLen, sTmp
myStr = "Opera\'e7\'e3o"
nStart = 0
nLen = Len(myStr)

While nStart < nLen
    nStart = Instr(nStart+1,myStr,"\'")
    If nStart = 0 Then
        nStart = nLen
    Else
        sTmp = Mid(myStr,nStart,4)
        myStr = Replace(myStr,sTmp,Chr(CLng(Replace(sTmp,"\'","&h"))))
    End If
Wend
MsgBox myStr

Costis Papadakis