В моем проекте VBA Excel-2013 у меня есть UserForm с текстовым полем. Мне нужно, чтобы это текстовое поле принимало только цифры, A-Z, a-z и 27 букв на иврите.excel vba проверить на иврит в введенном тексте, используя keypressii
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 – Slai
вы пробовали 'Debug.Print KeyAscii'? он должен рассказать вам, что было использовано ... –
@ Dirk Reichel - Большое спасибо, Dirk. (Должен был подумать об этом сам ...). Похоже, ** еврейский алфавит в ASCII находится между 1488 и 1514 **. Сейчас работает отлично. Еще раз спасибо! – gadi