Private Sub Text1_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case vbKeyA
If KeyAscii = vbKeyA Then
KeyAscii = vbKey0
Else
KeyAscii = 0
End If
Case vbKeyB
If KeyAscii = vbKeyB Then
KeyAscii = vbKey1
Else
KeyAscii = 0
End If
(〜省略〜)
Case vbKeyJ
If KeyAscii = vbKeyJ Then
KeyAscii = vbKey9
Else
KeyAscii = 0
End If
Case vbKeyBack
If KeyAscii = vbKeyBack Then
KeyAscii = vbKeyBack
Else
KeyAscii = 0
End If
Case vbKeyDelete
If KeyAscii = vbKeyDelete Then
KeyAscii = vbKeyDelete
Else
KeyAscii = 0
End If
Case Else
KeyAscii = 0
End Select
End Sub
上記のようなA〜Jの数字への割り当てと BackspaceとDeleteキー以外は
尿力を受け付けないコードにしたのですが 「.」は入力を受け付けて
しまいます。
「.」の入力を受け付けないようにするには どのようなコードにすれば
いいでしょうか?
事故解決しました
質問掲示板を利用した以上、この質問は掲示板を利用する人たち全員の財産と
なります。自己解決した場合でも、どんな答えが出たのか報告します。
>上記のようなA〜Jの数字への割り当てと BackspaceとDeleteキー以外は
テキストボックスで Delete キー拾えた???
ちょっとVBに用意された定数に間違いがあると思われるので、
Private Sub Text1_KeyPress(KeyAscii As Integer)
Debug.Print CStr(KeyAscii)
Debug.Print CStr("vbKeyDelete? " & vbKeyDelete)
End Sub
で、何のキーを押した時にどんな値が引数に渡されるか確認すれば
解決すると思われます。
自己解決されているようですが、ちょっと気になったのでひとつ
>Private Sub Text1_KeyPress(KeyAscii As Integer)
>
> Select Case KeyAscii
> Case vbKeyA
> If KeyAscii = vbKeyA Then
> KeyAscii = vbKey0
> Else
> KeyAscii = 0
> End If
Select Case でKeyAscii がvbKeyAかは聞いているので Caseの中の if文は
聞かずにkeyAscii = vbkey0でいいかと思います。
ツイート | ![]() |