XP で VBA を実行すると、ActivateKeyboardLayout を呼び出して、入力言語を英語から別の言語に切り替えることができました。ただし、これは Vista64 では機能しなくなりました。
提案や回避策はありますか?
XP で動作していたコードは、次のようなものでした。
Private Declare Function ActivateKeyboardLayout Lib "user32" ( _
ByVal HKL As Long, ByVal flags As Integer) As Integer
Const aklPUNJABI As Long = &H4460446
ActivateKeyboardLayout aklPUNJABI, 0
試してみようという提案がありました
Public Declare Function ActivateKeyboardLayout Lib "user32" ( _
ByVal nkl As IntPtr, ByVal Flags As uint) As Integer
これを試すと、次のエラー メッセージが表示されます。
変数は、Visual Basic でサポートされていない Automation 型を使用しています