Excel 2007 vbe无法识别重音字符

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

这就是我想要做的:

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

所以我可以用RegChars代替AccChars。

但是当我复制上面的行vbe,Const AccChars如下所示:

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

我怎样才能接受字符如Ç,ě,ł,ļ,ņ,ī,Å。

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

任何build议将不胜感激。

我不认为你可以让VBE(或一个常规的消息箱) 显示代码> 255的字符。但是你可以通过添加适当的Unicode字符来构造一个包含这些字符的string。 所以对于你的AccCharsstring:

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

然后,您可以testing您正在尝试翻译的string中的那些字符。

编辑 (附加信息):如果将stringAccChars写入Excel单元格或其他可显示Unicode字符的对象(例如UserForm.TextBox),则如果select包含Unicode的字体字符。