私のExcel-2013 VBAプロジェクトには、テキストボックス付きのUserFormがあります。このテキストボックスには、数字、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を使用するように指示する方法
回答:
回答№1は0Dirk Reichelは、ヘブライ語の文字を入力するときに、my_TextBoxに何が入るかをデバッグして確認するという単純なアイデアを私にくれました。
それは私がそれを見つけた方法です ASCIIのヘブライ語アルファベットは1488から1514の間です.
私のコードは今:
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 > 1487 And KeyAscii < 1515)) Then <= Hebrew
KeyAscii = 8
Beep
End If
End Sub
今ではヘブライ語も使えます。
ありがとう、Dirk。