VBA Tipp: Tastatureingabe für einen Zeitraum blockieren

Aus DBWiki
Wechseln zu: Navigation, Suche

Aufgabenstellung

Ich möchte die Tastatureingabe für eine bestimmte Zeit verhindern.

Lösung

Das Blockieren leistet die API-Funktion BlockInput, das Warten die API-Funktion Sleep:

Private Declare Function BlockInput Lib "user32" _
  (ByVal fBlock As Long) As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Aufruf

Public Function TestBlockInput(Optional Sec As Long = 10)
  DoEvents
  'Maus und Tastatur sperren
  BlockInput True
  'warten
  Sleep Sec * 1000&
  'Sperrung wieder aufheben (nicht vergessen!!)
  BlockInput False
End Function