VBA unter XP laufen konnte ich ActivateKeyBoardLayout nennen meine Eingabesprache von Englisch in eine andere Sprache zu wechseln. Dies funktioniert jedoch nicht mehr unter Vista64.Wie kann ich anrufen ActivateKeyBoardLayout von 64-Bit-Windows Vista VBA
Irgendwelche Vorschläge oder Abhilfen?
Der Code, der unter XP verwendet zu arbeiten, war ähnlich der folgenden:
Private Declare Function ActivateKeyboardLayout Lib "user32" (_
ByVal HKL As Long, ByVal flags As Integer) As Integer
Const aklPUNJABI As Long = &H4460446
ActivateKeyboardLayout aklPUNJABI, 0
es einen Vorschlag
Public Declare Function ActivateKeyboardLayout Lib "user32" (_
ByVal nkl As IntPtr, ByVal Flags As uint) As Integer
Wenn ich dies versuchen zu versuchen, war erhalte ich die Fehlermeldung:
Variable verwendet einen Automatisierungstyp, der in Visual Basic nicht unterstützt wird
Interessante Ich werde das auf meiner Konfiguration (Vista 64) zu Hause überprüfen. Ist der Code mit Ihrem Access VBA-Anruf verknüpft? – VonC
Ich habe die Frage mit dem Code – Noah
aktualisiert Sie haben Recht. Das eine Element, das mir nicht bewusst war, ist, dass die Tastaturkonstanten variieren können, abhängig von der Version der geladenen Tastatur. Dies führte mich zu der falschen Meinung, dass Ihr Code falsch war. Der Fehler gehört mir. Ich habe versucht, dies zu korrigieren, indem ich die Frage modifiziere. – Noah