SendKeys-AnweisungSendKeys statement

Sendet eine oder mehrere Tastenfolgen zum aktiven Fenster, als ob sie über die Tastatur eingegeben worden wären.Sends one or more keystrokes to the active window as if typed at the keyboard.

SyntaxSyntax

SendKeys string, [ wait ]SendKeys string, [ wait ]


Die Syntax der SendKeys-Anweisung weist folgende benannte Argumente auf:The SendKeys statement syntax has these named arguments:

TeilPart BeschreibungDescription
Zeichenfolgestring Erforderlich.Required. Zeichenfolgenausdruck, der die zu sendende Tastenfolge angibt.String expression specifying the keystrokes to send.
waitwait Optional.Optional. Ein Wert vom Typ Boolean, der den Wartemodus angibt.Boolean value specifying the wait mode. Wenn der Wert False ist (Voreinstellung), setzt die Prozedur die Ausführung fort, unmittelbar nachdem die Tastenfolge gesendet wurde.If False (default), control is returned to the procedure immediately after the keys are sent. Wenn True, muss die Tastenfolge verarbeitet werden, bevor das Steuerelement an die Prozedur zurückgegeben wird.If True, keystrokes must be processed before control is returned to the procedure.

HinweiseRemarks

Jede Taste wird durch ein oder mehrere Zeichen dargestellt.Each key is represented by one or more characters. Um ein einzelnes Tastaturzeichen anzugeben, verwenden Sie das Zeichen selbst.To specify a single keyboard character, use the character itself. Um den Buchstaben „A“ darzustellen, verwenden Sie z. B. "A" für Zeichenfolge.For example, to represent the letter A, use "A" for string. Um mehrere Zeichen anzugeben, hängen Sie jedes zusätzliche Zeichen an das vorherige an.To represent more than one character, append each additional character to the one preceding it. Um die Buchstaben A, B und C darzustellen, verwenden Sie z. B. "ABC" für Zeichenfolge.To represent the letters A, B, and C, use "ABC" for string.

Pluszeichen (+), Caretzeichen (^), Prozentzeichen (%), Tilde (** ~ **) und Klammern () haben für SendKeys eine spezielle Bedeutung.The plus sign (+), caret (^), percent sign (%), tilde (~), and parentheses ( ) have special meanings to SendKeys. Wenn Sie eines der folgenden Zeichen angeben möchten, setzen Sie es in Klammern ({}).To specify one of these characters, enclose it within braces ({}). Wenn Sie zum Beispiel das Pluszeichen angeben möchten, verwenden Sie {+}.For example, to specify the plus sign, use {+}.

Klammern ([]) haben keine besondere Bedeutung für SendKeys, Sie müssen diese jedoch in Klammern gesetzt werden.Brackets ([ ]) have no special meaning to SendKeys, but you must enclose them in braces. In anderen Anwendungen haben Klammern eine besondere Bedeutung, die möglicherweise relevant ist, wenn dynamischer Datenaustausch erfolgt.In other applications, brackets do have a special meaning that may be significant when dynamic data exchange (DDE) occurs. Um Klammern anzugeben, verwenden Sie {{} und {}}.To specify brace characters, use {{} and {}}.

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:To specify characters that aren't displayed when you press a key, such as ENTER or TAB, and keys that represent actions rather than characters, use the codes in the following table:

SchlüsselKey CodeCode
RÜCKTASTEBACKSPACE {BACKSPACE}, {BS} oder {BKSP}{BACKSPACE}, {BS}, or {BKSP}
PAUSEBREAK {BREAK}
FESTSTELLTASTECAPS LOCK {CAPSLOCK}
ENTFDEL or DELETE {DELETE} oder {DEL}{DELETE} or {DEL}
NACH-UNTENDOWN ARROW {DOWN}
ENDEEND {END}
EINGABETASTEENTER {ENTER} oder ~{ENTER} or ~
ESCESC {ESC}
HILFEHELP {HELP}
STARTHOME {HOME}
EINFGINS or INSERT {INSERT} oder {INS}{INSERT} or {INS}
NACH-LINKSLEFT ARROW {LEFT}
NUMNUM LOCK {NUMLOCK}
BILD-ABPAGE DOWN {PGDN}
BILD-AUFPAGE UP {PGUP}
DRUCKPRINT SCREEN {PRTSC}
NACH-RECHTSRIGHT ARROW {RIGHT}
ROLLENSCROLL LOCK {SCROLLLOCK}
TABTAB {TAB}
NACH-OBENUP ARROW {UP}
F1F1 {F1}
F2F2 {F2}
F3F3 {F3}
F4F4 {F4}
F5F5 {F5}
F6F6 {F6}
F7F7 {F7}
F8F8 {F8}
F9F9 {F9}
F10F10 {F10}
F11F11 {F11}
F12F12 {F12}
F13F13 {F13}
F14F14 {F14}
F15F15 {F15}
F16F16 {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:To specify keys combined with any combination of the SHIFT, CTRL, and ALT keys, precede the key code with one or more of the following codes:

SchlüsselKey CodeCode
UMSCHALTSHIFT +
STRGCTRL ^
ALTALT %

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.To specify that any combination of SHIFT, CTRL, and ALT should be held down while several other keys are pressed, enclose the code for those keys in parentheses. Wenn zum Beispiel die UMSCHALTTASTE gleichzeitig mit den Tasten E und C gedrückt werden soll, geben Sie +(EC) an.For example, to specify to hold down SHIFT while E and C are pressed, use +(EC).

Um wiederkehrende Tasten anzugeben, verwenden Sie {key number}.To specify repeating keys, use the form {key number}. Sie müssen ein Leerzeichen zwischen key und number einfügen.You must put a space between key and number. {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.For example, {LEFT 42} means press the LEFT ARROW key 42 times; {h 10} means press H 10 times.

Hinweis

SendKeys kann keine Tastenanschläge an Anwendungen senden, die nicht unter Microsoft Windows oder auf dem Macintosh ausgeführt werden können.You can't use SendKeys to send keystrokes to an application that is not designed to run in Microsoft Windows or Macintosh. Sendkeys kann auch die DRUCK-TASTE {PRTSC} an keine Anwendung senden.Sendkeys also can't send the PRINT SCREEN key {PRTSC} to any application.

BeispielExample

In diesem Beispiel wird die Shell-Funktion verwendet, um die unter Microsoft Windows integrierte Anwendung „Rechner“ auszuführen.This example uses the Shell function to run the Calculator application included with Microsoft Windows. Es verwendet die SendKeys-Anweisung zum Senden von Tastaturanschlägen, um einige Zahlen hinzuzufügen und den Rechner zu beenden.It uses the SendKeys statement to send keystrokes to add some numbers and then quit the Calculator. (Um das Beispiel anzuzeigen, fügen Sie dies in einer Prozedur hinzu, und führen Sie dann die Prozedur aus.(To see the example, paste it into a procedure, and then run the procedure. Da AppActivate den Fokus auf die Anwendung „Rechner“ ändert, können Sie nicht schrittweise den Code durchlaufen.)Because AppActivate changes the focus to the Calculator application, you can't single step through the code.)

Verwenden Sie auf einem Macintosh anstelle des Windows-Rechners eine Macintosh-Anwendung, die die Tastatureingabe akzeptiert.On the Macintosh, use a Macintosh application that accepts keyboard input instead of the Windows Calculator.

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 auchSee also

Support und FeedbackSupport and feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation?Have questions or feedback about Office VBA or this documentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.