Страницы: 1
RSS
Ribbon, VBA, Excel 2019, кнопка на ленте не находит функцию обратного вызова, Excel не находит функцию обратного вызова, прописанную в onAction разметки Ribbon, если в книге более 1 модуля.
 
Не пойму, то ли я глючу, то ли новый Excel 2019. В предыдущих версиях вроде всё работало.

Итак, в Ribbon XML Editor делаю свою вкладку, группу, кнопку. К кнопке через onAction привязываю функцию обратного вызова, которую прописываю в VBA-модуле в книге. Запускаю — всё  работает.


Но стоит добавить рядышком с первым модулем любой другой, и кнопка уже не находит функцию! Указание имени модуля перед именем функции через точку тоже почему-то не работает, хотя в прежних версиях офиса работало. Такая же фигня и с Access. Наверное и с другими приложениями пакета. Проверьте, у вас тоже так? Глюк офиса 2019? Или новая особенность, и теперь как-то иначе надо обращаться к функциям из разметки?
 
вполне может быть, ничто не вечно под луной, даже (особенно) интерфейс приложений Microsoft
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Вот буквально недели 2 назад скачивал последнюю версию Ribbon XML Editor. Делал вкладку на ленте. Несколько модулей было в проекте всё работало и через точку тоже. Но я всё выбирал для 2010 офиса. Сейчас ещё раз проверил всё работает. За 2019 не могу сказать, но может если из списка выбрать 2019, то что-то поменяется. Не разбирал этот вопрос так как всё всегда работало с первого раза.
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Цитата
Alemox написал:
За 2019 не могу сказать, но может если из списка выбрать 2019, то что-то поменяется.
Поменяется только автодополнение в Ribbon XML Editor и его галерея встроенных изображений.


А вы какую версию офиса используете? 2019 или более раннюю?
Изменено: dolbodub - 15.05.2019 21:49:16
 
Цитата
dolbodub написал:
К кнопке через onAction
как Вы к кнопе ribbon по onAction привязываете? В XML схеме? Лучше файл проблемный приложите - будет надежнее.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Я нашёл причину проблемы. Таки глючил я. Точнее, модуль, который я  добавлял в книгу, который был рассчитан на 32-битный офис, а я запускал  книгу в 64-битном.
В том втором модуле, который я добавлял, на  объявлениях внешних функций API возникало предупреждение, что все  Declare в 64-битном офисе надо снабдить ключевым словом PtrSafe. Строки  объявлений в модуле подсвечивались красным и ждали, пока я на них  среагирую. А я протупил. В результате Excel не реагировал также и на  другие модули.
Страницы: 1
Наверх