MS Access VBA代码编辑器字符编码和复制/粘贴

时间:2014-03-21 13:27:39

标签: vba ms-access access-vba

Access'中使用的实际编码是什么? VBA编辑?我一直在寻找一个具体的答案,但没有运气。

我认为这是UTF-8,但我不太确定。

我的主要问题是,在VBA中编写查询时,我有时需要在Access'中进行测试。查询编辑器。然而,当复制粘贴时,我会失去我的原生角色(在我的情况下是希腊语),因为他们转向胡言乱语。

我尝试在文本编辑器中粘贴并将其保存为不同的编码,但我永远无法恢复原始字符。

提前致谢。

修改

让我再解释一下:

正如您所见,我可以在VBA编辑器中正常编写希腊字符:

sample in vba editor

但是,复制Access'中的第一行查询编辑器,我得到以下内容:

paste in query editor

简单的文本编辑器也是如此:

text editor

所以我倾向于认为问题出在剪贴板内部,因为希腊字符使用了编码。我猜它们不是Unicode,因为我确实必须在系统区域设置中对非unicode字符进行更改。那么如何保存/复制这些字符?用什么编码?

答案

实际上,在复制实际测试字符串时,通过将键盘输入语言切换为希腊语(EL)来解决此问题。

然而,我仍然不确定为什么会发生这种情况。如果有人能对此提供一些见解,我很乐意听到。

再次感谢

4 个答案:

答案 0 :(得分:5)

VBA编辑器不支持输入或显示的Unicode字符。相反,它使用称为"代码页"的旧Windows技术。为非ASCII字符提供支持。

因此,VBA编辑器中的字符编码对应于"区域和语言选项"中指定的Windows系统区域设置所使用的代码页。控制面板。例如,我的系统区域设置为"希腊语(希腊)"

cpGreek.png

我可以在我的VBA代码中输入希腊字符

vbaGreek.png

但是,如果我将Windows系统区域设置切换回"英语(美国)"

cpUS.png

并重新打开我的VBA项目,希腊字符已更改为新代码页中的相应字符

vbaUS.png

答案 1 :(得分:1)

如果“控制面板”->“区域和语言选项”->“系统区域设置”设置正确,但有时仍然遇到此问题,请注意在复制粘贴时 >您的键盘布局必须切换为非英语。

这不仅适用于VBA,而且适用于所有不支持Unicode的应用程序。

信用转到@parakmiakos

答案 2 :(得分:0)

详情请参阅:http://www.pcreview.co.uk/forums/use-greek-characters-visual-basic-editor-t2097705.html

看起来确保您的操作系统设置正确,并在VBA编辑器中选择字体。

答案 3 :(得分:0)

我对西里尔字母有类似的问题。正确设置系统区域设置可以解决部分问题。

但是,VBA编辑器在必须从其内部解释西里尔字母时仍然无法识别它们。

例如,它不能显示命令中的字符:

Msgbox "Здравей"

但如果工作表名称用西里尔字母表示,则效果很好:

Msgbox Activesheet.Name

最后,事实证明,当我更改为32位版本的MS Office时,此类问题已解决。

相关问题