【发布时间】:2016-08-20 20:24:31
【问题描述】:
在我的 Excel-2013 VBA 项目中,我有一个带有文本框的用户窗体。我需要这个文本框来只接受数字、A-Z、a-z 和 27 个希伯来字母。
Private Sub my_TextBox_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If (Not (KeyAscii > 47 And KeyAscii < 58)) And _ <= 0-9
(Not (KeyAscii > 64 And KeyAscii < 91)) And _ <= A-Z
(Not (KeyAscii > 96 And KeyAscii < 123)) And _ <= a-z
(Not (KeyAscii > 127 And KeyAscii < 155)) Then <= Hebrew
KeyAscii = 8
Beep
End If
End Sub
除了希伯来语外,工作正常。
它不能将 ASCII 128 到 154 识别为希伯来语(这些值可在 ASCII 代码页 862 中找到)。
也就是说,尝试在文本框中输入希伯来字母会导致哔声。
如何告诉 Excel 使用 ASCII 代码页 862?
【问题讨论】:
-
尝试更改字体或检查 KeyAscii 数字是什么
-
你试过
Debug.Print KeyAscii吗?它应该告诉你使用了什么...... -
@Dirk Reichel - 非常感谢,Dirk。 (我自己应该想到的......)。似乎 ASCII 中的希伯来字母介于 1488 和 1514 之间。现在工作正常。再次感谢!
标签: excel vba keypress hebrew extended-ascii