VBA – SendKeys

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Zakarya El Oirzadi

Last updated on Dezember 8, 2022

VBA – SendKeys

Die VBA-Methode SendKeys wird verwendet, um Tastatureingaben an die aktive Anwendung zu senden:

Application.SendKeys ("s")

Der obige Code ahmt das Drücken der Taste „s“ auf der Tastatur nach. Die SendKeys-Methode benötigt zwei Argumente:

  • Keys – Die Taste(n), die Sie als Text an die Anwendung senden möchten.
  • Wait(Optional) – Dieser Wert kann entweder True oder False sein. Bei True wartet Excel zunächst auf die Verarbeitung der Tasten, bevor es die nächste Codezeile ausführt. Bei False fährt Excel mit der Ausführung der Prozedur fort, ohne auf die Verarbeitung der Tasten zu warten.

SendKeys wird in der Regel bei der Interaktion mit anderen Anwendungen verwendet, weil es eine schnelle und einfache Möglichkeit ist, Aufgaben zu erledigen. Sie können SendKeys zum Beispiel verwenden, wenn Sie den Internet Explorer automatisieren.

Allerdings sollten Sie bei der Verwendung der SendKeys-Methode äußerst vorsichtig sein, da sie unerwartete Ergebnisse haben kann. Wir empfehlen, SendKeys nur als letzten Ausweg zu verwenden und/oder wenn Fehler tolerierbar (oder leicht zu erkennen) sind.

VBA – SendKeys-Beispiele

Jede Taste in Form von Buchstaben wird durch ihr Zeichen dargestellt, z. B. ist a ein „a“. Wenn Sie Tasten in Kombination mit Strg, Umschalttaste oder Alt verwenden möchten, müssen Sie dem Tastencode folgendes voranstellen:

Taste Code
Strg    ^
Umschalttaste    +
Alt    %

Der folgende Code verwendet die SendKeys-Methode, um die Arbeitsmappe zu speichern:

Sub SendKeysVerwenden()

Application.SendKeys ("^s")

End Sub

Wie bereits erwähnt, müssen Sie bei der Verwendung von SendKeys äußerst vorsichtig sein. Der folgende Code legt eine Wartezeit von 10 Sekunden fest, bevor der Text eingegeben bzw. an Notepad gesendet wird. Indem Sie 10 Sekunden warten, geben Sie Notepad die Möglichkeit, sich ordnungsgemäß zu öffnen, was die Wahrscheinlichkeit eines Fehlers verringert.

Hinweis: Dieser Code verwendet die Methode Application.Wait.

Sub SendKeysMitWaitVerwenden()

Call Shell("C:\Windows\system32\Notepad.Exe", vbNormalFocus)
Application.Wait (Now() + TimeValue("00:00:10"))
Call SendKeys("Dies ist ein beliebiger Text", True)

End Sub

Das Ergebnis nach 10 Sekunden Wartezeit ist: vba sendkeys wait funktion

SendKeys kann ein extrem schneller und einfacher Weg sein, um Aufgaben zu erledigen. Allerdings ist das Risiko von Fehlern relativ hoch. Verwenden Sie SendKeys nur, wenn dieses Risiko akzeptabel ist!

vba-free-addin

Add-In für VBA-Code-Beispiele

Auf alle Code-Beispiele aus unserer Website einfach zugreifen.

Navigieren Sie einfach zum Menü, klicken Sie darauf und der Code wird direkt in Ihr Modul eingefügt. .xlam add-in.

(Keine Installation erforderlich!)

Kostenloser Download

Return to VBA Code Examples