Wie verwende ich die SendKeys-Anweisung in VBA?

Die `SendKeys`-Anweisung in VBA (Visual Basic for Applications) wird verwendet, um Tastenanschläge an das aktive Fenster zu senden. Dies kann nützlich sein, um die Benutzerinteraktion mit einem Anwendungsfenster zu automatisieren. Hier sind einige wichtige Informationen und Tipps zur Verwendung von `SendKeys`:

Grundlegende Syntax

SendKeys(string, wait)
  • `string`: Ein Pflichtparameter. Gibt die Tastenanschläge an, die gesendet werden sollen. Jede Taste oder Tastenkombination wird durch einen bestimmten Zeichenfolgenwert dargestellt.
  • `wait`: Optionaler Boolean-Wert. Wenn auf `True` gesetzt, wartet VBA, bis die Tastenanschläge verarbeitet wurden, bevor der Code weiter ausgeführt wird. Der Standardwert ist `False`.

Beispiele

   SendKeys "ABC", True
  • Einzelne Buchstaben senden

Dies sendet die Zeichenfolge “ABC” an das aktive Fenster.

  • Spezialtasten verwenden
    • `{ENTER}`: Enter-Taste
    • `{TAB}`: Tabulator-Taste
    • `{ESC}`: Escape-Taste

Beispiel:

   SendKeys "{ENTER}", True
  • Tastenkombinationen senden
    • `^` : Steuerungstaste (Ctrl)
    • `%` : Alt-Taste
    • `+` : Umschalttaste (Shift)

Beispiel für Strg+C (Kopieren):

   SendKeys "^c", True

Hinweise

  • Aktives Fenster: `SendKeys` funktioniert nur mit dem aktuell aktiven Fenster. Stellen Sie sicher, dass das Fenster, an das Sie senden möchten, den Fokus hat.
  • Limitierungen: Die `SendKeys`-Anweisung kann in einigen Umgebungen, insbesondere mit modernen Sicherheitsvorkehrungen gegen automatisierte Eingaben, unzuverlässig sein.
  • Sicherheit: Aus Sicherheitsgründen kann es riskant sein, `SendKeys` zu verwenden, wenn andere Programme im Hintergrund Tastenanschläge abfangen können.
  • Debugging: Das Debuggen von Code, der `SendKeys` verwendet, kann schwierig sein, da es Anwendungsfenster beeinflusst.

Fazit

Die `SendKeys`-Anweisung bietet eine einfache Möglichkeit, Tastatureingaben zu simulieren, sie sollte jedoch mit Vorsicht verwendet werden. In vielen Fällen gibt es möglicherweise robustere und sicherere Alternativen, wie z.B. die Automatisierung der Benutzeroberfläche durch APIs oder spezielle Automatisierungsbibliotheken.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project