1

我正在使用一些 VBA 插件从数字生成文本,该文本包含国家立陶宛语、德语或任何其他国家符号。到目前为止,这在以前的 Excel 版本中可以正常工作,但现在系统已经从头开始升级,并且似乎不能很好地与 Excel 2019 一起工作。

在 VBA 中,代码看起来很好,您可以看到像“š”这样的国家符号(在将语言环境设置为立陶宛语之后,在它们出现多个奇怪符号之前):

在此处输入图像描述

,但是当在 excel 中调用函数时,输出只是 � 而不是任何国家符号。在 Excel 2019 中,所有国家符号都标有相同的符号。但是您可以在 Excel 中手动编写国家符号就可以了,VBA 的结果就是缺少这些符号的垃圾。

在单元格中看起来像这样:

尝试“imtai”,00 ct

有谁知道如何解决这个问题并让它们在代码中的可见性方面看起来很正常?

其他一些观察结果是,当将代码从 VBA 编辑器复制并粘贴到 Notepad++ 时,国家符号也会丢失,它们会显示为不同的奇怪符号。此外,当尝试使用 VBA 编辑器窗口中的查找功能查找带有国家符号的任何内容时 - 只要您不删除国家符号,就不会找到任何结果......

4

1 回答 1

2

据我了解,对“国际”(“非拉丁”)字符的支持取决于您的 Windows 区域设置,而不是 Excel 或 VBA IDE。

由于我在加拿大,我无法轻易地测试以验证这一点,但有趣的是,您的示例字符š显示的方式与它为您显示的方式相反:它在工作表上正确呈现,但在 VBA 中却是乱码。

截屏

顺便说一句,我通过将符号粘贴到单元格中,然后使用公式在另一个单元格中确定了š(Unicode )的 Unicode id 号。相反的函数(从它的代码中返回一个字符)是. VBA 等效项是和。353A1=UNICODE(A1)UNICHARAscWChrW

我知道可以通过调整 Windows 区域设置(如在此处讨论)使 VBA IDE 显示“国际”字符,但我没有意识到任何设置会使它们无法在电子表格上呈现,因为对我来说,大多数 Unicode 字符在工作表上正确显示。

我假设这些字符在 Excel 之外的其他应用程序中不适合您。如果不是这种情况,并且此问题是 Excel 特有的(或者如果您无法通过调整Windows 区域设置来解决此问题),那么我建议您联系 Microsoft 技术支持

更多信息在此处此处或在此搜索中也可能会有所帮助。

于 2020-09-23T19:34:39.873 回答