Всем - Здравствуйте!
На просторах Интернета нашел функцию для смены раскладки клавиатуры рус-англ. С успехом применил функцию при инициализации всех UserFofm (везде вставлял Call KBDToRUS). Однако, данная функция не работает на 64-рязрядных версиях Office (например, 2016 офис). Прошу помочь в корректировке кода для универсального использования на любой версии Office. Подобную тему уже разбирали дважды на форуме, но мой опыт программирования на VBA не помогает мне во всем разобраться самому)(.
На просторах Интернета нашел функцию для смены раскладки клавиатуры рус-англ. С успехом применил функцию при инициализации всех UserFofm (везде вставлял Call KBDToRUS). Однако, данная функция не работает на 64-рязрядных версиях Office (например, 2016 офис). Прошу помочь в корректировке кода для универсального использования на любой версии Office. Подобную тему уже разбирали дважды на форуме, но мой опыт программирования на VBA не помогает мне во всем разобраться самому)(.
Код |
---|
Declare Function LoadKeyboardLayout Lib "user32" Alias _ "LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal flags As Long) As Long '' Переключение на английскую раскладку Function KBDToENG() Call LoadKeyboardLayout("00000409", &H1) End Function '' Переключение на русскую раскладку Function KBDToRUS() Call LoadKeyboardLayout("00000419", &H1) End Function |