Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


10348 / 13644 ツリー ←次へ | 前へ→

【22332】KeyPressについて H.T 05/2/16(水) 15:36 質問[未読]
【22335】Re:KeyPressについて IROC 05/2/16(水) 16:31 回答[未読]
【22338】Re:KeyPressについて sa 05/2/16(水) 17:01 発言[未読]
【22348】Re:KeyPressについて bykin 05/2/16(水) 20:59 発言[未読]
【22362】Re:KeyPressについて H.T 05/2/17(木) 8:41 お礼[未読]

【22332】KeyPressについて
質問  H.T  - 05/2/16(水) 15:36 -

引用なし
パスワード
   テキストボックスで「Enter」キーを押したときにイベントを発生させたいのですが
「Alt」+「Enter」ではなくて「Enter」のみでどうにかフラグたてることって
できますでしょうか?

【22335】Re:KeyPressについて
回答  IROC  - 05/2/16(水) 16:31 -

引用なし
パスワード
   KeyUpを使ってみました。

Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  If KeyCode = 13 Then MsgBox "ent"
End Sub

【22338】Re:KeyPressについて
発言  sa  - 05/2/16(水) 17:01 -

引用なし
パスワード
   ▼IROC さん:
KeyDownのほうが良いように思いますが
KeyUpだとこの例で良くとメッセージボックスを
ENTERでOKボタンを押すと
また、メッセージボックス出るような気がします

KeyDownになにか問題があるのでしたら教えて下さい


Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  If KeyCode = 13 Then MsgBox "ent"
End Sub


>KeyUpを使ってみました。
>
>Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
>  If KeyCode = 13 Then MsgBox "ent"
>End Sub

【22348】Re:KeyPressについて
発言  bykin  - 05/2/16(水) 20:59 -

引用なし
パスワード
   こんばんわ。

ご提示のコードでKeyUpイベントの場合・・・

1.テキストボックスでEnterを押して離す。
  ↓
2.メッセージボックスが表示されフォーカスが移る。
  ↓
3.Enterキーを押す。
  ↓
4.メッセージボックスのOKボタンが押されたことになるので
  メッセージボックスが消えてテキストボックスにフォーカスが戻る。
  ↓
5.Enterキーを離す。
  ↓
6.テキストボックスにフォーカスがあるので2に戻る。

ってことみたいやね。
マウスでOKボタン押したら問題ないねんけど。
ま、メッセージボックス出してるからややこしいんですわ(^^;;

でもKeyDownのほうがええとは一概には言えまへん。
例えば、こんなコードで実験してみると・・・

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  Debug.Print "KeyDown"
End Sub

Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  Debug.Print "KeyUp"
End Sub

KeyUpはキーを離したとき、必ず1回だけ実行されるけど、
KeyDownはキーを押し続けたら何回でも実行されるのがわかると思います。

両方の特徴を理解した上で、状況によってどっちか選択したらええんとちゃいまっか?
ほな。

【22362】Re:KeyPressについて
お礼  H.T  - 05/2/17(木) 8:41 -

引用なし
パスワード
   >IROCさん、saさん、bykinさん
お答えいただいてどうもありがとうございました。
お礼が遅れてすみませんでした。
Key_DownでやってみたらきちんとEnterキーで反応してくれました(わーい

10348 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free