Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Русская/английская раскладка клавиатуры при вызове макроса. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Русская/английская раскладка клавиатуры при вызове макроса. (Макросы/Sub)
Русская/английская раскладка клавиатуры при вызове макроса.
koyaanisqatsi Дата: Четверг, 02.04.2015, 13:43 | Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 713
Репутация: 15 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте.

Все так же как и я мучаются при вызове макроса при вызове с клавиатуры из-за того что макрос забит на английскую букву а выбран русский язык в виндовсе ? Обычно и не сморишь какая включена раскладка. Долбишь в сочетание клавишь а макрос не вызывается (.
Как-то глупо придумано что макросы можно вызывать только контролом и только буквы.

Какие самые простые методы решения этой проблемы ? Может есть какой-то вариант чтобы при открытии определенного файла с определенным кодом появлялась менюшка в самом экселе в панеле закладок куда бы и попали все макросы доступные в этом файлике?
 
Ответить
СообщениеЗдравствуйте.

Все так же как и я мучаются при вызове макроса при вызове с клавиатуры из-за того что макрос забит на английскую букву а выбран русский язык в виндовсе ? Обычно и не сморишь какая включена раскладка. Долбишь в сочетание клавишь а макрос не вызывается (.
Как-то глупо придумано что макросы можно вызывать только контролом и только буквы.

Какие самые простые методы решения этой проблемы ? Может есть какой-то вариант чтобы при открытии определенного файла с определенным кодом появлялась менюшка в самом экселе в панеле закладок куда бы и попали все макросы доступные в этом файлике?

Автор - koyaanisqatsi
Дата добавления - 02.04.2015 в 13:43
Rioran Дата: Четверг, 02.04.2015, 13:51 | Сообщение № 2
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
koyaanisqatsi, можно при открытии файла вызывать макрос с методом Application.OnKey. Он, кстати, независим от раскладки. По закрытию книги отменять эффект.

Этот метод я использовал ЗДЕСЬ.


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279


Сообщение отредактировал Rioran - Четверг, 02.04.2015, 13:54
 
Ответить
Сообщениеkoyaanisqatsi, можно при открытии файла вызывать макрос с методом Application.OnKey. Он, кстати, независим от раскладки. По закрытию книги отменять эффект.

Этот метод я использовал ЗДЕСЬ.

Автор - Rioran
Дата добавления - 02.04.2015 в 13:51
koyaanisqatsi Дата: Четверг, 02.04.2015, 14:56 | Сообщение № 3
Группа: Проверенные
Ранг: Ветеран
Сообщений: 713
Репутация: 15 ±
Замечаний: 0% ±

Excel 2010
Rioran,

написал вот таким вот образом

[vba]
Код

Private Sub Workbook_Open()
   Application.OnKey Key:="^й", Procedure:="Change_date"
      Change_date
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnKey "^й"
End Sub
[/vba]

Сначала при первом запуске все работало отлично и при закрытии сработал сброс. При повторном открытии выдало дебаг на строку

[vba]
Код

Application.OnKey "^й"
[/vba]

что это может быть ?


Сообщение отредактировал koyaanisqatsi - Четверг, 02.04.2015, 14:57
 
Ответить
СообщениеRioran,

написал вот таким вот образом

[vba]
Код

Private Sub Workbook_Open()
   Application.OnKey Key:="^й", Procedure:="Change_date"
      Change_date
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnKey "^й"
End Sub
[/vba]

Сначала при первом запуске все работало отлично и при закрытии сработал сброс. При повторном открытии выдало дебаг на строку

[vba]
Код

Application.OnKey "^й"
[/vba]

что это может быть ?

Автор - koyaanisqatsi
Дата добавления - 02.04.2015 в 14:56
Manyasha Дата: Пятница, 03.04.2015, 14:55 | Сообщение № 4
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
koyaanisqatsi, здравствуйте. Возможно проблемы с кодировкой, заменила в Вашем коде "й" на "q", все работает. И еще на всякий случай, можно сбросить OnKey перед назначением:[vba]
Код
Private Sub Workbook_Open()
Application.OnKey "^q"
Application.OnKey "^q", "Change_date"
End Sub
[/vba]
[vba]
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnKey "^q"
End Sub
[/vba]
Кстати, если у Вас будет открыто несколько книг, то Change_date будет вызываться вне зависимости от того, какая книга активна, так что может лучше повесить onKey на активацию/деактивацию книги (в файле то, что под комментами)?
К сообщению приложен файл: 9209890.xlsm (16.6 Kb)


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениеkoyaanisqatsi, здравствуйте. Возможно проблемы с кодировкой, заменила в Вашем коде "й" на "q", все работает. И еще на всякий случай, можно сбросить OnKey перед назначением:[vba]
Код
Private Sub Workbook_Open()
Application.OnKey "^q"
Application.OnKey "^q", "Change_date"
End Sub
[/vba]
[vba]
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnKey "^q"
End Sub
[/vba]
Кстати, если у Вас будет открыто несколько книг, то Change_date будет вызываться вне зависимости от того, какая книга активна, так что может лучше повесить onKey на активацию/деактивацию книги (в файле то, что под комментами)?

Автор - Manyasha
Дата добавления - 03.04.2015 в 14:55
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Русская/английская раскладка клавиатуры при вызове макроса. (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!