4

ExcelスプレッドシートのUnicode文字をプレーンASCIIに置き換える必要があります。たとえば、StåleをStaleに変換します。

以下はExcel2013で正常に機能します。ただし、Excel 2010では「?」問題のある文字の代わりにが表示されます。何か案は?非ASCII文字はExcel2010で正しく検出されますが、文字は表示されないことに注意してください。

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では機能しましたが、Excel2010では機能しませんでした。

4

1 に答える 1

2

より多くの研究が明らかにします:

Excel 2010のMsgBoxコントロールは、Unicode文字をサポートしていません。Excel2013MsgBoxはそうします。

Unicodeの非ASCII文字は、文字がワークシートのセルに挿入されたときに正常に機能します。問題は、MsgBoxを使用して表示する場合のみです。幸いなことに、この問題はExcel2013で修正されています。この件について詳しくはこちらをご覧ください。

于 2013-02-18T12:56:43.947 に答える