Freigeben über


KeyDown-, KeyUp-Ereignisse

Tritt nacheinander auf, wenn ein Benutzer eine Taste drückt und loslässt. KeyDown tritt auf, wenn der Benutzer eine Taste drückt. KeyUp tritt auf, wenn der Benutzer einen Schlüssel freigibt.

Syntax

PrivateSub-Objekt _KeyDown( ByValKeyCodeAs MSForms.ReturnInteger, ByValShiftAs fmShiftState)
PrivateSub-Objekt _KeyUp( ByValKeyCodeAs MSForms.ReturnInteger, ByValShiftAs fmShiftState)

Die Ereignissyntaxen KeyDown und KeyUp haben folgende Teile:

Bestandteil Beschreibung
Objekt Erforderlich. Ein gültiger Objektname.
KeyCode Erforderlich. Eine ganze Zahl, die den Tastencode der Taste darstellt, die gedrückt oder losgelassen wurde.
Shift Erforderlich. Der Status von UMSCHALT, STRG und ALT.

Einstellungen

Die Einstellungen für Shift sind:

Konstante Wert Beschreibung
fmShiftMask 1 UMSCHALT wurde gedrückt.
fmCtrlMask 2 STRG wurde gedrückt.
fmAltMask 4 ALT wurde gedrückt.

Hinweise

Das KeyDown-Ereignis tritt auf, wenn der Benutzer auf einem aktiven Formular eine Taste drückt, während das Formular oder ein darauf befindliches Steuerelement den Fokus hat. Die Ereignisse KeyDown und KeyPress wechseln sich wiederholt ab, bis der Benutzer die Taste loslässt; zu diesem Moment tritt das KeyUp-Ereignis auf. Das Formular oder Steuerelement, das den Fokus hat, empfängt alle Tastenanschläge. Ein Formular kann nur dann den Fokus haben, wenn es keine Steuerelemente enthält oder alle seine sichtbaren Steuerelemente deaktiviert sind.

Diese Ereignisse treten auch auf, wenn Sie eine Tastatureingabe an ein Formular oder Steuerelement senden, indem Sie entweder die SendKeys-Aktion in einem Makro oder die SendKeys-Anweisung in Visual Basic verwenden.

Die Ereignisse KeyDown und KeyUp werden üblicherweise verwendet, um Folgendes zu erkennen bzw. zu unterscheiden:

  • Tasten des erweiterten Zeichensatzes, wie z. B. Funktionstasten.

  • Navigationstasten, wie z. B. POS1, ENDE, BILD-AUF, BILD-AB, NACH-OBEN, NACH-UNTEN, NACH-RECHTS, NACH-LINKS und TAB.

  • Tastenkombinationen und Standardumschalttasten (UMSCHALTTASTE, STRG und ALT).

  • Die Zehnertastatur und die Zahlentasten der Tastatur.

Die Ereignisse KeyDown und KeyUp treten unter den folgenden Umständen nicht auf:

  • Der Benutzer drückt die EINGABETASTE für ein Formular mit einer Befehlsschaltfläche, deren Default-Eigenschaft auf True festgelegt ist.

  • Der Benutzer drückt ESC auf einem Formular mit einer Befehlsschaltfläche, deren Cancel-Eigenschaft auf True festgelegt ist.

Die Ereignisse KeyDown und KeyPress treten auf, wenn Sie eine ANSI-Taste drücken oder senden. Das KeyUp-Ereignis tritt nach jedem Ereignis für ein Steuerelement auf, das durch das Drücken oder Senden einer Taste ausgelöst wurde. Wenn ein Tastenanschlag bewirkt, dass der Fokus von einem Steuerelement an ein anderes abgegeben wird, tritt für das erste Steuerelement das KeyDown-Ereignis auf, während für das zweite Steuerelement die Ereignisse KeyPress und KeyUp auftreten.

Die Abfolge der Tastaturereignisse ist:

  1. KeyDown
  2. KeyPress
  3. KeyUp

Hinweis

[!HINWEIS] Die Ereignisse KeyDown und KeyUp gelten nur für Formulare und für Steuerelemente auf einem Formular. Mit dem KeyPress-Ereignis können Sie ANSI-Zeichen interpretieren oder feststellen, welchem ANSI-Zeichen die gedrückte Taste entspricht.

Siehe auch

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.