Все так же как и я мучаются при вызове макроса при вызове с клавиатуры из-за того что макрос забит на английскую букву а выбран русский язык в виндовсе ? Обычно и не сморишь какая включена раскладка. Долбишь в сочетание клавишь а макрос не вызывается (. Как-то глупо придумано что макросы можно вызывать только контролом и только буквы.
Какие самые простые методы решения этой проблемы ? Может есть какой-то вариант чтобы при открытии определенного файла с определенным кодом появлялась менюшка в самом экселе в панеле закладок куда бы и попали все макросы доступные в этом файлике?
Здравствуйте.
Все так же как и я мучаются при вызове макроса при вызове с клавиатуры из-за того что макрос забит на английскую букву а выбран русский язык в виндовсе ? Обычно и не сморишь какая включена раскладка. Долбишь в сочетание клавишь а макрос не вызывается (. Как-то глупо придумано что макросы можно вызывать только контролом и только буквы.
Какие самые простые методы решения этой проблемы ? Может есть какой-то вариант чтобы при открытии определенного файла с определенным кодом появлялась менюшка в самом экселе в панеле закладок куда бы и попали все макросы доступные в этом файлике?koyaanisqatsi
koyaanisqatsi, можно при открытии файла вызывать макрос с методом Application.OnKey. Он, кстати, независим от раскладки. По закрытию книги отменять эффект.
koyaanisqatsi, можно при открытии файла вызывать макрос с методом Application.OnKey. Он, кстати, независим от раскладки. По закрытию книги отменять эффект.
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 на активацию/деактивацию книги (в файле то, что под комментами)?
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