Virtuelle Tastatur in Excel mit VBA öffnen
Schritt-für-Schritt-Anleitung
Um die virtuelle Tastatur in Excel zu öffnen, kannst Du VBA verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:
- Öffne Excel und drücke
ALT + F11, um den VBA-Editor zu öffnen.
- Erstelle ein neues Modul:
- Rechtsklick auf "VBAProject (deinDateiname)" >
Einfügen > Modul.
- Füge den folgenden Code in das Modul ein:
Option Explicit
' Funktion zum Laden der Bildschirmtastatur
Public Sub LoadScreenKeyboard()
Dim lngptrIsWow64 As LongPtr, lngptrProcess As LongPtr
lngptrProcess = GetCurrentProcess
Call IsWow64Process(lngptrProcess, lngptrIsWow64)
If lngptrIsWow64 = 0 Then
Call ShellExecuteA(Application.Hwnd, "open", "osk.exe", vbNullString, "C:\Windows\System32\", SW_SHOWNORMAL)
Else
Call Wow64EnableWow64FsRedirection(False)
Call ShellExecuteA(Application.Hwnd, "open", "osk.exe", vbNullString, "C:\Windows\System32\", SW_SHOWNORMAL)
Call Wow64EnableWow64FsRedirection(True)
End If
End Sub
' Funktion zum Schließen der Bildschirmtastatur
Public Sub UnloadScreenKeyboard()
Dim objWMI As Object, objProcessList As Object, objProcess As Object
Set objWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set objProcessList = objWMI.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'osk.exe'")
For Each objProcess In objProcessList
Call objProcess.Terminate
Next
Set objProcessList = Nothing
Set objWMI = Nothing
End Sub
- Um die virtuelle Tastatur zu öffnen, füge den folgenden Code in das Textfeld ein:
Private Sub TextBox1_Enter()
Call LoadScreenKeyboard
End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Call UnloadScreenKeyboard
End Sub
- Schließe den VBA-Editor und teste das Textfeld in Deiner Excel-Anwendung.
Häufige Fehler und Lösungen
-
Fehlermeldung: "Konnte Tastatur nicht öffnen"
Stelle sicher, dass Du den richtigen Pfad zur osk.exe verwendest. Überprüfe, ob die Datei tatsächlich im angegebenen Verzeichnis (C:\Windows\System32\) vorhanden ist.
-
"Option Private Module" wird rot markiert
Diese Zeile ist nur in Standardmodulen erlaubt. Lösche sie oder platziere den Code in einem Standardmodul.
Alternative Methoden
Wenn der VBA-Code nicht funktioniert, kannst Du die digitale Tastatur manuell über das Startmenü in Windows 10 öffnen:
- Drücke
Windows-Taste + R, um den Ausführen-Dialog zu öffnen.
- Gib
osk ein und drücke Enter.
Diese Methode ermöglicht es Dir, die virtuelle Tastatur ohne VBA zu nutzen.
Praktische Beispiele
Hier ist ein einfaches Beispiel, wie Du den obigen Code nutzen kannst, um die Windows virtuelle Tastatur zu öffnen, wenn Du auf ein Textfeld klickst:
Private Sub TextBox1_Enter()
Call LoadScreenKeyboard
End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Call UnloadScreenKeyboard
End Sub
Füge diesen Code in das entsprechende UserForm ein, um die virtual Tastatur beim Fokussieren des Textfeldes zu aktivieren.
Tipps für Profis
- Verwende die
vbHide-Option, um das Konsolenfenster beim Ausführen des Befehls auszublenden.
- Überlege, die Größe der virtuellen Tastatur anzupassen, um die Benutzererfahrung zu verbessern.
FAQ: Häufige Fragen
1. Wie kann ich die Bildschirmtastatur ohne Tastatur öffnen?
Du kannst die Bildschirmtastatur direkt über den Ausführen-Dialog (Windows + R) mit dem Befehl osk öffnen.
2. Funktioniert der Code auch in Excel 2016?
Ja, der Code funktioniert in Excel 2016 und anderen neueren Versionen von Excel unter Windows 10.
3. Was ist ShellAndWait?
ShellAndWait ist eine benutzerdefinierte Funktion, die es ermöglicht, ein Programm zu starten und auf dessen Beendigung zu warten, bevor der nächste Befehl ausgeführt wird.