4

我需要用纯 ASCII 替换 Excel 电子表格中的 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。

4

1 回答 1

2

更多研究表明:

Excel 2010 的 MsgBox 控件不支持 Unicode 字符。Excel 2013 MsgBox 可以。

将字符插入工作表单元格时,Unicode 非 ASCII 字符可以正常工作。问题仅在于使用 MsgBox 显示它时。好消息是这个问题在 Excel 2013 中得到了修复。关于这个主题的更多信息。

于 2013-02-18T12:56:43.947 回答