Страницы: 1
RSS
Время выполнения макроса из панели значительно дольше
 
Здравствуйте.
Появился вопрос, с которым я никогда не сталкивалась.
Имеется надстройка, кнопочки выведены через Ribbon.
Следовательно, имеется RibbonCallbacks.
В RibbonCallbacks имеется:
Код
'btn15 (компонент: button, атрибут: onAction), 2007
Sub NullSave1(control As IRibbonControl)
Savetest
End Sub
Если я запускаю макрос через панель (через кнопку) он выполняется 17 секунд.
Если его запустить через VBA (макрос Savetest) напрямую, то время выполнения составляет 0,4 сек.

В чем может быть причина?
Спасибо.
 
Нужен файл-пример.
«Бритва Оккама» или «Принцип Калашникова»?
 
Пример прилагаю
В моем случае сейчас через надстройку - 4,07 сек. Напрямую - 0,07 сек.

Перед запуском, сохраните, пожалуйста, все свои документы Excel!
Запускаем Книгу 1. Подключаем надстройку 1.
На панельке есть кнопочка – сохранить все.
Через нее макрос обрабатывается в разы дольше, чем запуск напрямую из VBA.
В функции calculateData сделан повтор вычислений для наглядности "торможения".
В результате работы макроса будет создаваться документ 1.txt.
Изменено: Diana Tailor - 03.12.2018 14:14:10
 
Отпишитесь, пожалуйста, у кого получилось проверить.
У вас также разница во времени существенная?
А то, может, только у меня, буду искать причину. Нет возможности пока на другом компьютере проверить.
 
Через кнопку в Надстройке1 - "Сохранить всё" - 0,08 сек.
Sub saveData() тоже - 0,08 сек.
«Бритва Оккама» или «Принцип Калашникова»?
 
bedvit, спасибо.
Что же у меня-то не так... Буду искать дальше.
 
Проверила на других компьютерах сейчас:
Офис 2007 - время выполнения 0,06 сек. В обоих случаях.
Офис 2010 - время выполнения 0,06+/-0,02 сек в обоих случаях.
Офис 365 - от нескольких секунд через надстройку и 0,05+/-0,02 сек через Sub saveData()

Может, есть у кого предположения, где копать, чтобы в 365 пошустрее было? :)
Страницы: 1
Наверх