Excel VBA質問箱 IV

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

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


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

【28987】キーボード入力調査 hiro 05/9/20(火) 13:55 質問[未読]
【28988】Re:キーボード入力調査 ちくたく 05/9/20(火) 14:22 回答[未読]
【28989】Re:キーボード入力調査 hiro 05/9/20(火) 14:32 お礼[未読]

【28987】キーボード入力調査
質問  hiro  - 05/9/20(火) 13:55 -

引用なし
パスワード
   いつも勉強させていただいてます。
環境はWinXP,Excel2000です。

キーボード入力で「delete」キーを押した時にメッセージを
表示することは可能なのでしょうか?

A1セルに入力されている内容を「delete」キーで消した時、
”消しましたね!”という感じで…。

GetAsyncKeyState
というコードを見つけたのですが、いずれもゲーム作成時、
押し続けてるか放しているかの判定させるコードしか見つける
ことが出来ませんでした。

「delete」キーにマクロを割り当てると削除出来なくなりますし…。

なにかよい方法ご存知の方おられましたら、よろしくお願いします。

【28988】Re:キーボード入力調査
回答  ちくたく  - 05/9/20(火) 14:22 -

引用なし
パスワード
   こんにちは
標準モジュールとかに、
Declare Function GetAsyncKeyState Lib "User32.dll" (ByVal vKey As Long) As Long
を記述。

ThisWorkbookの、例えば、SheetChangeイベントに、
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
  If GetAsyncKeyState(46) <> 0 Then MsgBox "終了"
End Sub
を記述してみてください。

で、Deleteキーを押してみてください。
こんなやり方でよろしいでしょうか?

例えば、こんなサイトにヒントがあります。
http://www.clovernet.ne.jp/~s_kamori/subhtml3/pga4.html

【28989】Re:キーボード入力調査
お礼  hiro  - 05/9/20(火) 14:32 -

引用なし
パスワード
   ちくたく さん

早速の回答ありがとうございます。
自分の思っているような動きになりました。

教えていただいたHPも参考にします。

ありがとうございました!

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