显示Unicode字符:Excel 2010 vs Excel 2013
我需要在Excel电子表格中用纯ASCII代替Unicode字符。 例如把Ståle转换成Stale。
以下在Excel 2013中正常工作。但在Excel 2010中,“?” 被显示而不是有问题的字符。 有任何想法吗? 请注意在Excel 2010中正确检测到非Ascii字符,但不显示字符。
char = Mid(val, i, 1) char_code = AscW(char) If char_code > 127 Then MsgBox ("Problem with " & c.Address & " [" & char_code & "] " & StrConv(ChrW(char_code), vbUnicode)) End If
我也试过
MsgBox ("Problem with " & char & " " & ChrW(char_code))
它再一次使用Excel 2013,但不是Excel 2010。
更多的研究显示:
Excel 2010的MsgBox控件不支持Unicode字符。 Excel 2013 MsgBox会。
当字符插入工作表单元格时,Unicode非ASCII字符正常工作。 只有使用MsgBox来显示它的问题。 好消息是这个问题在Excel 2013中得到了解决。 关于这个问题的更多信息。