Название: "Горячие клавиши" через Application.OnKey Отправлено: Completum от 06.04.2019, 00:59:16 Добрый вечер, уважаемые пользователи форума! Можете помочь? Пользуюсь 2 файлами Excel. Поскольку приходится быстро между ними переключаться, заметил, что очень удобная комбинация: "Ctrl+tab". В обоих файлах написал макрос на переключение. Всё работает, если открывать "Вид-макросы...". Также написал код на "Горячие клавиши" в обоих файлах в "разделах" "эта книга":
Код: (vb) Private Sub Workbook_Open() Соответственно, во втором файле название другое. Работает 1 раз туда и обратно, после чего горячие клавиши не действуют, но если запускать макрос стандартным способом через меню, переключается. Подскажите, пожалуйста, что можно придумать? Заранее благодарен, Ваш форум по VBA самый лучший, Вы меня многому научили!) Название: Re:"Горячие клавиши" через Application.OnKey Отправлено: Дмитрий Щербаков(The_Prist) от 06.04.2019, 08:25:32 Я так понял в обоих книгах используется одно и то же сочетание клавиш, но привязка идет к разным процедурам. А это значит, что при открытии первой книги будет назначено сочетание клавиш на код из этой книги, а при открытии второй книги - вызов по клавишам из первой заменится на вызов из второй и в дальнейшем будет срабатывать исключительно он. Т.е. в итоге надо либо разное сочетание использовать, либо смотреть как можно изменить код переключения так, чтобы корректно работал из обеих книг.
Ну или как вариант переназначать еще каждый раз процедуру для сочетания клавиш по событию Workbook_Activate. Название: Re:"Горячие клавиши" через Application.OnKey Отправлено: Completum от 06.04.2019, 10:10:08 Подскажите, пожалуйста, как это можно сделать "переназначать каждый раз процедуру для сочетания клавиш по событию Workbook_Activate"?
Название: Re:"Горячие клавиши" через Application.OnKey Отправлено: Completum от 06.04.2019, 12:13:48 Есть идея: написать одинаковый макрос с одним и тем же названием в обоих книгах, и проверяем какой файл активен, а какой нет, и назначить нужную комбинацию клавиш. Т.е. не желательно на 2 разных макроса назначать одну и ту же комбинацию, несмотря на то, что они в разных файлах.
Название: Re:"Горячие клавиши" через Application.OnKey Отправлено: Completum от 06.04.2019, 12:41:38 Всё работает! :D
|