Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1932to1936
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Spracheingabe per VBA öffnen

Spracheingabe per VBA öffnen
27.05.2023 13:01:28
MaBlu

Hallo
ich möchte die Spracheingabe in Excel und Word mit VBA öffnen und habe versucht das mit der Tastenkombination (Win Logo Taste + H) aufzuzeichnen aber es macht nichts?
Wie muss das Makro lauten?

Kann man mir hier helfen?

Mit der Tastenkombination funktioniert es

Gruss MaBlu

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spracheingabe per VBA öffnen
27.05.2023 14:40:18
mumpel
Hallo!

SendKeys kannst Du vergessen. Versuch es mal über das "Keyboard-Event".


#If Win64 And VBA7 Then
    Public Declare PtrSafe Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, _
                                                         ByVal dwFlags As LongPtr, ByVal dwExtraInfo As Long)
#Else
    Public Declare PtrSafe Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, _
                                                         ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
#End If
    
Const KEYEVENTF_KEYUP = &H2
Const VK_LWIN = &H5B
Const htaste = &H48 ' H-Taste

Sub StarteSprachsteuerung()
   Call keybd_event(VK_LWIN, 0, 0, 0) 'Windows-Taste drücken
   Call keybd_event(htaste, 0, 0, 0) 'Plus-Taste drücken
   Call keybd_event(htaste, 0, KEYEVENTF_KEYUP, 0) 'Plus-Taste loslassen
   Call keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0) 'Windows-Taste loslassen
End Sub

Gruß, René


Anzeige
Korrektur
27.05.2023 14:45:29
mumpel
Bei der Deklaration ist ein Fehler drin. Hier der korrigierte Code.


#If Win64 And VBA7 Then
    Public Declare PtrSafe Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, _
                                                         ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
#Else
    Public Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, _
                                                         ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
#End If


AW: Korrektur
29.05.2023 08:21:28
MaBlu
Vielen Dank für die Hilfe
Gruss MaBlu


Anzeige
AW: Korrektur
29.05.2023 11:06:30
mumpel
Finktioniert es wie gewünscht? War es das was Du gesucht hast?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige