VBA-Programmierung in Microsoft Excel

Tutorial: Die Dialoge

KeyPress-Ereignis

Tritt ein, wenn der Benutzer eine ANSI-Taste drückt.

Syntax

Private Sub object_KeyPress( ByVal KeyANSI As MSForms.ReturnInteger)

Die Syntax für das KeyPress-Ereignis besteht aus folgenden Teilen:

Teil Beschreibung
object Erforderlich. Ein gültiges Objekt.
KeyANSI Erforderlich. Ein Wert einer Ganzzahl, der einen numerischen Standard-ANSI-Tasten-Code darstellt.

Hinweise

Das KeyPress-Ereignis tritt ein, wenn der Benutzer eine Taste drückt, die auf einem ausgeführten Formular ein darstellbares Zeichen (ein ANSI-Zeichen) ergibt, während das Formular oder ein Steuerelement in diesem Formular den SendKeys-Anweisung hat. Dieses Ereignis kann vor oder nach dem Loslassen der Taste eintreten. Dieses Ereignis tritt auch ein, wenn Sie einen ANSI-Tastenanschlag an ein Formular oder ein Steuerelement senden und dazu entweder die SendKeys-Aktion in einem Makro oder die SendKeys-Anweisung in Visual Basic verwenden.

Ein KeyPress-Ereignis kann eintreten, wenn eine der folgenden Tasten gedrückt werden:

  • Ein beliebiges darstellbares Zeichen.

  • STRG in Kombination mit einem Zeichen aus dem Standardalphabet.

  • STRG in Kombination mit einem beliebigen Sonderzeichen.

  • RÜCKTASTE.

  • ESC.

Ein KeyPress-Ereignis tritt unter den folgenden Bedingungen nicht ein:

  • Drücken der TAB-TASTE.

  • Drücken der EINGABETASTE.

  • Drücken einer PFEILTASTE.

  • Wenn sich der Fokus aufgrund eines Tastenanschlags von einem Steuerelement auf einen anderen verschiebt.

Anmerkung   Im Gegensatz zur RÜCKTASTE ist ENTF kein Teil des ANSI-Zeichensatzes. Das Löschen eines Zeichens in einem Steuerelement mit der RÜCKTASTE löst somit ein KeyPress-Ereignis aus, das Löschen eines Zeichens mit ENTF jedoch nicht.

Wenn ein Benutzer eine Taste gedrückt hält, die einen ANSI-Tasten-Code erzeugt, wiederholen sich die Ereignisse KeyDown und KeyPress im gegenseitigen Wechsel. Wenn der Benutzer die Taste loslässt, tritt das KeyUp-Ereignis ein. Das Formular oder das Steuerelement mit dem Fokus erhält alle Tastenanschläge. Ein Formular kann den Fokus nur dann haben, wenn es keine Steuerelemente enthält oder wenn alle sichtbaren Steuerelemente deaktiviert sind.

Als Standardaktion des KeyPress-Ereignisses wird der Ereignis-Code verarbeitet, der der gedrückten Taste entspricht. KeyANSI bestimmt das ANSI-Zeichen, das der gedrückten Taste oder Tastenkombination entspricht. Das KeyPress-Ereignis interpretiert die Groß-/Kleinschreibung jedes Zeichens als separate Tastencodes und somit als zwei separate Zeichen.

Um auf den aktuellen Zustand der Tastatur zu reagieren oder Tastenanschläge zu verarbeiten, die nicht vom KeyPress-Ereignis erkannt werden, wie z.B. Funktionstasten, Richtungstasten und beliebige Kombinationen dieser mit den Zustandstasten (ALT, UMSCHALT oder STRG), verwenden Sie die Ereignisprozeduren KeyDown und KeyUp.

Die Reihenfolge der tastaturbezogenen Ereignisse lautet wie folgt:

  1. KeyDown

  2. KeyPress

  3. KeyUp