VBA ListBox和ComboBox显示错误的字符

问题描述 投票:0回答:1

Excel VBA ListBox和ComboBox显示错误的字符,而TextBox使用相同的UserForm提供正确的字符。

ListBox和ComboBox提供了一些Ansi替代而不是波罗的海字符,这是错误的。

我改变了:

  • 使用ListBox.Font.Charset属性将form和listBox的字符集从133转换为163
  • 使用字体Arial或Times New Roman与波罗的海编码
  • 阅读互联网上的大量网页,但仍然没有运气..

感谢您的关注

我使用的代码如下:

Private Sub UserForm_Initialize()
UserForm2.Font.Charset = 186

ListBox1.List = Array("ĄČęėį", "Žųūįšų", 222) -> does not provide correct text :(

With ListBox1
.AddItem "Vilnius"
.AddItem "Kaunas"
.AddItem "Klaipėda"  -> Klaipëda
.AddItem "Šiauliai"  -> Ðiauliai
.AddItem Chr(222)
End With

最后看起来VBA编辑器遇到国际字符问题 - 如果通过“对象属性”窗口使用按钮标题 - 则会出错。

但是直接在表单上输入标签和按钮文本可以提供正确的结果,因此这里有一个解决方法 - 使用RowSource选项,从excel表中获取数据,它提供了正确的编码:ListBox1.RowSource =“= Sheet2!A1:A5”

这个解决方案方便我的需求,现在问题已经关闭。

感谢您的答复。

excel vba character-encoding listbox
1个回答
1
投票

要使用正确的国际字符填充ListBox和ComboBox,我使用了Object Property窗口提供RowSource并从Excel表中获取数据。在VBA编辑器中,它看起来像这样:ListBox1.RowSource =“= Sheet2!A1:A5”这种方法适用于波罗的海和俄语,我没有尝试过其他语言。

© www.soinside.com 2019 - 2024. All rights reserved.