Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Visual Basic |
![]() ![]() |
OxY63rus Member Откуда: Сообщений: 133 |
Доброго времнеи суток! На ribbon есть мои кнопки, которые что-то делаю. Одна из кнопок формирует форматированную таблицу (диапазон). Вследствие чего лента excel перескакивает на стандратную вклдаку (Работа с таблицами/Конструктор). Как вернуть фокус на мою вкладку (контрол на моей вкладке Ribbon)? |
30 ноя 18, 08:29 [21749359] Ответить | Цитировать Сообщить модератору |
The_Prist Member Откуда: www.excel-vba.ru Сообщений: 1800 |
OxY63rus, Насколько знаю из VBA этого не сделать. Но есть метод ActivateTab у самой Ribbon, если брать именно свою Ribbon, которую создали через XML. Можно его попробовать вызывать после выполнения нужных команд. |
30 ноя 18, 08:55 [21749385] Ответить | Цитировать Сообщить модератору |
OxY63rus Member Откуда: Сообщений: 133 |
The_Prist, спасибо за совет! Прописал событие onLoad для CustomUI в XML. В обработчике события установил глобальной переменной типа IRibbonUI Public MyRibbon As IRibbonUI Public Sub Load(Ribbon As IRibbonUI) Set MyRibbon = ribbon End Sub Далее любом месте кода, где возможно переключение вкладки применяем
MyRibbon.ActivateTab "{Идентификатор_вкладки}"
Вопрос закрыт |
30 ноя 18, 09:31 [21749418] Ответить | Цитировать Сообщить модератору |
OxY63rus Member Откуда: Сообщений: 133 |
Подниму свой вопрос снова. Кто является родителем для MyRibbon? Я код вынес во внешнюю библиотеку и теперь не могу достучаться до своей ленты. Передаю в либу экземляр Excel, но ExApp.MyRibbon.ActivateTab не срабатывает. |
17 янв 19, 11:33 [21787630] Ответить | Цитировать Сообщить модератору |
The_Prist Member Откуда: www.excel-vba.ru Сообщений: 1800 |
OxY63rus, Родитель - Офис. И достучаться извне не получится, надо отлавливать именно событие Ribbon_Load внутри своей библиотеки. Для этого потребуется Office.IRibbonExtensibility, иначе управлять лентой из библиотеки никак не удастся. |
17 янв 19, 14:35 [21787908] Ответить | Цитировать Сообщить модератору |
Все форумы / Visual Basic | ![]() |