Hallo,
ich möchte unter Excel ein laufendes VBA-Programm mittels Tastendruck (Tastatur oder Maus) steuern.
Wie kann ich in folgendem Beispiel solch eine Abfrage einbauen?
Sub Tastaturabfrage()
Do While True
If Then Exit Sub
Loop
End Sub
Tastatur:
Die Objekte haben ein Ereignis „Keypress“ und „Keydown“
Unterschiede bitte in der Hilfe nachschauen.
Setzt dort ein msgbox(„Hallo Welt“) hinein und sobald du
eine taste drückst, bzw. loslässt erhälst Du den Text.
Maus:
Für die Maus wären das die Ereignisse „Mousedown“ und „Mouseup“.
Hallo Peter,
danke für Deine Antwort.
Ich konnte damit leider nichts anfangen.
Vermutlich habe ich mich nicht klar genug ausgedrückt.
Hier ist die Lösung für mein Problem:
Public Declare Function GetAsyncKeyState Lib „user32.dll“ (ByVal vKey As Long) As Integer
Function Taste_gedrückt(Taste As Long) As Boolean
If GetAsyncKeyState(Taste) And &H8000 Then
Taste_gedrückt = True
Else
Taste_gedrückt = False
End If
End Function
Function Taste_seit_dem_letzten_check_gedrückt(Taste As Long) As Boolean
If GetAsyncKeyState(Taste) Then
Taste_seit_dem_letzten_check_gedrückt = True
Else
Taste_seit_dem_letzten_check_gedrückt = False
End If
End Function
Sub test()
Do
Application.Wait (Now + TimeValue(„0:00:05“))
If Taste_gedrückt(vbKeyShift) And Taste_gedrückt(vbKeyQ) Then Exit Sub
If Taste_seit_dem_letzten_check_gedrückt(vbKeyA) Then Exit Sub
Loop
End Sub