重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

たとえば、スペースキーを押すと、実行中のマクロをとめるようにすることは可能でしょうか?

中断とかではなくて、「End」にしたいのです。

ご教授、よろしくお願いします。

A 回答 (1件)

GetKeyState関数を使うのが早いかもしれません。



---
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer

Sub test1()

Do
DoEvents
If GetKeyState(vbKeySpace) < 0 Then
Stop

End If

Loop

End Sub
---

たぶん、こんな感じじゃないでしょうか。
実際にはStopの部分をEndに書き換えれば終了します。

実用上はこのプロシージャを定期的に呼び出してあげるか
Do - Loop の間に必要な処理を記入する必要があります。
    • good
    • 0
この回答へのお礼

ありがとうございました。
試してみます。

お礼日時:2010/03/28 17:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!