Excel 2007 vbe 无法识别重音字符

Excel 2007 vbe not recognising accented characters

所以我试图编写一个 vba 代码来将重音字符转换为常规字符。我已将所有重音字符声明为常量,将常规字符声明为另一个常量。 但是我无法将某些重音字符插入 vba 脚本,因为 Visual Basic 编辑器将它们识别为“??”只有.

这就是我想要做的:

Const AccChars = "ŠŽšžŸÀÁÂÃÄÅĀÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðñòóôõöùúûüýÿěłļņī"
Const RegChars = "SZszYAAAAAAACEEEEIIIIDNOOOOOUUUUYaaaaaaceeeeiiiidnooooouuuuyyellni"

这样我就可以用 RegChars 替换 AccChars。

但是当我将上面的行复制到 vbe 时,Const AccChars 显示如下:

Const AccChars = "ŠŽšžŸÀÁÂÃÄ?ĀÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖÙÚÛÜÝàáâãäå?èéêëìíîïðñòóôõöùúûüýÿ?????"

如何让 vbe 接受 Ç,ě,ł,ļ,ņ,ī,Å 等字符。

我尝试从工具-> 选项更改字体,甚至从控制面板更改非 Unicode 程序的语言(系统区域设置)。 我也试过从另一个文本文件中读取字符串,这也没有效果。

如有任何建议,我们将不胜感激。

我认为您无法让 VBE(或常规消息框)显示代码 > 255 的 显示 个字符。但是您可以构造一个包含这些字符的字符串通过添加适当的 Unicode 字符来添加字符。因此,对于 post 中的 AccChars 字符串:

Dim AccChars As String
AccChars = "ŠŽšžŸÀÁÂÃÄÅAÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðñòóôõöùúûüýÿ" _
        & ChrW(283) & ChrW(322) & ChrW(316) & ChrW(326) & ChrW(299)

然后您可以测试要翻译的字符串中的那些字符。

EDIT(附加信息):如果将字符串 AccChars 写入 Excel 单元格或其他可以显示 Unicode 字符的对象(例如 UserForm.TextBox),如果你 select 包含 Unicode 字符的字体,你将看到正确呈现的字符。