Привет форумчанам. Знаю, что в Excel есть возможность переключать клавиатуру с кириллицы на латиницу и обратно с помощью макроса. Код в Excel следующий
Спойлер
Private Declare Function ActivateKeyboardLayout _
Lib "user32" (ByVal HKL As Long, ByVal flags As Long) As Long
Const kb_lay_ru As Long = 68748313, kb_lay_en As Long = 67699721
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Select Case Target.Column ' в зависимости от номера столбца активной ячеки
Case 1 To 3, 6 ' для столбцов Имя, Фамилия, Номер машины, Цвет
ВключитьРусскуюРаскладку
Case 4, 5: ' для столбцов Марка авто, Модель
ВключитьАнглийскуюРаскладку
Case Else: ' ничего не делаем (оставляем текущую раскладку)
End Select
End Sub
Sub ВключитьРусскуюРаскладку()
' Переключить на русский язык
x = ActivateKeyboardLayout&(kb_lay_ru, 0)
End Sub
Sub ВключитьАнглийскуюРаскладку()
' Переключить на английский язык
x = ActivateKeyboardLayout&(kb_lay_en, 0)
End Sub
Есть ли возможность сделать такое же в таблице в документе Word? У меня Word 2007.
Файл во вложении.
[вложение удалено администратором]
В свойстве каждого "поля формы" в списке "при входе" выберите макрос "Klava". Я сделал для нескольких, чтобы протестировать, но для всех не стал делать.
Selection.Rows(1).Index - это порядковый номер строки таблицы, в которой находится текстовый курсор.
Макрос
Private Declare Function ActivateKeyboardLayout _
Lib "user32" (ByVal HKL As Long, ByVal flags As Long) As Long
Const kb_lay_ru As Long = 68748313, kb_lay_en As Long = 67699721
Sub Klava()
Select Case Selection.Rows(1).Index
Case 1 To 3, 8 To 11
ActivateKeyboardLayout kb_lay_ru, 0
Case 4 To 7
ActivateKeyboardLayout kb_lay_en, 0
End Select
End Sub
[вложение удалено администратором]
В очередной раз огромное спасибо. Приятных выходных.