Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.04.2010, 06:56   #1
Murad7
Новичок
Джуниор
 
Регистрация: 12.04.2010
Сообщений: 2
По умолчанию Управление языками ввода в приложениях офис

Здраствуйте, какими макросами можно из Ексела управлять клавиатурой - т.е. менять раскладку языков ввода, в зависимости от форматированной ячейки или TextBoxа под определенный язык?
Murad7 вне форума Ответить с цитированием
Старый 12.04.2010, 07:01   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

http://www.planetaexcel.ru/forum.php?thread_id=11390

Цитата:

По событию листа SelectionChange можно переключать раскладки в зависимости от того, какая из ячеек выделена:

Код:
Option Compare Text

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Select Case Target.Address(0, 0)
Case "a3", "f5", "h6": ВключитьАнглийскуюРаскладку
Case Else: ВключитьРусскуюРаскладку
End Select
End Sub


Sub ВключитьРусскуюРаскладку()
' Переключить на русский язык' 
x = ActivateKeyboardLayout&(kb_lay_ru, 0)
End Sub


Sub ВключитьАнглийскуюРаскладку()
' Переключить на английский язык'
x = ActivateKeyboardLayout&(kb_lay_en, 0)
End Sub


в стандартный модуль:

Код:
Declare Function ActivateKeyboardLayout Lib "user32" (ByVal HKL As Long, ByVal flags As Long) As Long
Public Const kb_lay_ru As Long = 68748313
Public Const kb_lay_en As Long = 67699721

Пример файла можно скачать здесь: http://excelvba.ru/XL_Files/Sample__...__18-52-54.zip
При выделении желтых ячеек будет автоматически включена английская раскладка,
при выделении остальных - русская.

Последний раз редактировалось EducatedFool; 12.04.2010 в 07:05.
EducatedFool вне форума Ответить с цитированием
Старый 12.04.2010, 12:15   #3
Murad7
Новичок
Джуниор
 
Регистрация: 12.04.2010
Сообщений: 2
По умолчанию

Благодарю за быстрый ответ!
Murad7 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преимуществах delphi над другими языками nmtr Софт 19 16.08.2010 14:11
Как сделать запрет ввода букв в поле для ввода input zvezda_t PHP 1 27.12.2009 22:02
HTML,VBS, PHP что из перечисленного является языками программирования butey Софт 8 15.07.2009 06:54
Помогите разобраться с серверами, языками, ОС и т.д. ARIRAN Свободное общение 14 13.03.2009 16:06