SendKeys-Anweisung

Sendet eine oder mehrere Tastenfolgen zum aktiven Fenster, als ob sie über die Tastatur eingegeben worden wären.

Syntax

SendKeys-Zeichenfolge, [ wait ]

Die Syntax der SendKeys-Anweisung weist folgende benannte Argumente auf:

Teil Beschreibung
Zeichenfolge Erforderlich. Zeichenfolgenausdruck, der die zu sendende Tastenfolge angibt.
wait Optional. Ein Wert vom Typ Boolean, der den Wartemodus angibt. Wenn der Wert False ist (Voreinstellung), setzt die Prozedur die Ausführung fort, unmittelbar nachdem die Tastenfolge gesendet wurde. Wenn True, muss die Tastenfolge verarbeitet werden, bevor das Steuerelement an die Prozedur zurückgegeben wird.

Hinweise

Jede Taste wird durch ein oder mehrere Zeichen dargestellt. Um ein einzelnes Tastaturzeichen anzugeben, verwenden Sie das Zeichen selbst. Um den Buchstaben „A“ darzustellen, verwenden Sie z. B. "A" für Zeichenfolge. Um mehrere Zeichen anzugeben, hängen Sie jedes zusätzliche Zeichen an das vorherige an. "ABC" für string repräsentiert zum Beispiel die Buchstaben A, B und C.

Pluszeichen (+), Caretzeichen (^), Prozentzeichen (%), Tilde ( ~) und Klammern () haben für SendKeys eine spezielle Bedeutung. Wenn Sie eines der folgenden Zeichen angeben möchten, setzen Sie es in Klammern ({}). Wenn Sie zum Beispiel das Pluszeichen angeben möchten, verwenden Sie {+}.

Klammern ([]) haben keine besondere Bedeutung für SendKeys, Sie müssen diese jedoch in Klammern gesetzt werden. In anderen Anwendungen haben Klammern eine besondere Bedeutung, die möglicherweise relevant ist, wenn dynamischer Datenaustausch erfolgt. Um Klammern anzugeben, verwenden Sie {{} und {}}.

Für Zeichen, die beim Drücken einer Taste nicht angezeigt werden (z. B. die EINGABETASTE oder TAB-TASTE) und für bestimmte Aktionstasten können Sie die Codes in der folgenden Tabelle verwenden:

Taste Code
RÜCKTASTE {BACKSPACE}, {BS} oder {BKSP}
PAUSE {BREAK}
FESTSTELLTASTE {CAPSLOCK}
ENTF {DELETE} oder {DEL}
NACH-UNTEN {DOWN}
ENDE {END}
EINGABETASTE {ENTER} oder ~
ESC {ESC}
HILFE {HELP}
POS 1 {HOME}
EINFG {INSERT} oder {INS}
NACH-LINKS {LEFT}
NUM {NUMLOCK}
BILD-AB {PGDN}
BILD-AUF {PGUP}
DRUCK {PRTSC}
NACH-RECHTS {RIGHT}
ROLLEN {SCROLLLOCK}
TAB {TAB}
NACH-OBEN {UP}
F1 {F1}
F2 {F2}
F3 {F3}
F4 {F4}
F5 {F5}
F6 {F6}
F7 {F7}
F8 {F8}
F9 {F9}
F10 {F10}
F11 {F11}
F12 {F12}
F13 {F13}
F14 {F14}
F15 {F15}
F16 {F16}

Sie können Tastenkombinationen mit der UMSCHALTTASTE, STRG-TASTE oder ALT-TASTE angeben, indem Sie vor dem normalen Tasten-Code einen oder mehrere der folgenden Codes angeben:

Taste Code
UMSCHALT +
STRG ^
ALT %

Wenn UMSCHALT, STRG und ALT gleichzeitig mit anderen Tasten gedrückt werden müssen, schließen Sie die Codes für die Tasten in Klammern ein. Wenn zum Beispiel die UMSCHALTTASTE gleichzeitig mit den Tasten E und C gedrückt werden soll, geben Sie +(EC) an.

Um wiederkehrende Tasten anzugeben, verwenden Sie {key number}. Sie müssen ein Leerzeichen zwischen key und number einfügen. {LEFT 42} bedeutet zum Beispiel, dass die NACH-LINKS-TASTE 42 Mal gedrückt wird; {h 10} bedeutet, dass „H“ 10 Mal gedrückt wird.

Hinweis

SendKeys kann keine Tastenanschläge an Anwendungen senden, die nicht unter Microsoft Windows oder auf dem Macintosh ausgeführt werden können. Sendkeys kann auch die DRUCK-TASTE {PRTSC} an keine Anwendung senden.

Beispiel

In diesem Beispiel wird die Shell-Funktion verwendet, um die unter Microsoft Windows integrierte Anwendung „Rechner“ auszuführen. Es verwendet die SendKeys-Anweisung zum Senden von Tastaturanschlägen, um einige Zahlen hinzuzufügen und den Rechner zu beenden. (Um das Beispiel anzuzeigen, fügen Sie es in eine Prozedur ein, und führen Sie dann die Prozedur aus. Da AppActivate den Fokus auf die Rechneranwendung ändert, können Sie den Code nicht in einem einzelnen Schritt durchlaufen.)

Verwenden Sie auf einem Macintosh anstelle des Windows-Rechners eine Macintosh-Anwendung, die die Tastatureingabe akzeptiert.

Dim ReturnValue, I 
ReturnValue = Shell("CALC.EXE", 1)    ' Run Calculator. 
AppActivate ReturnValue     ' Activate the Calculator. 
For I = 1 To 100    ' Set up counting loop. 
    SendKeys I & "{+}", True    ' Send keystrokes to Calculator 
Next I    ' to add each value of I. 
SendKeys "=", True    ' Get grand total. 
SendKeys "%{F4}", True    ' Send ALT+F4 to close Calculator. 

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.