2009-11-19 3 views
0

Есть много накладных расходов, связанных с классами VBA? Я заметил, что в предыдущих книгах я делал то же самое, что и в моих классах, но работал быстрее.Есть много накладных расходов, связанных с классами VBA?

+2

Ваш вопрос немного расплывчатый. Что ты по сравнению с чем? –

+0

Неявно, что OP сравнивает классы с стандартными модулями ... Что еще они сравнивают? +1 для противодействия. – Oorang

+0

Раньше у меня был код, который находился в модуле, который обнаруживал «границы» группы продуктов, затем либо показывал, либо скрывал эти строки. Затем я переместил этот код в модуль класса и заметил задержку в 0,5 секунды до завершения макроса. (не согласуется, но внутри и вокруг этого знака) – JakeTheSnake

ответ

0

Чтобы ответить на ваш вопрос, есть несколько накладных расходов с занятиями. А именно создание и уничтожение этих объектов. Также доступ к свойствам может быть немного медленнее. Но, вообще говоря, это должно быть довольно незначительная сумма. Вы действительно не должны видеть никакой разницы вообще, если вы не измеряете в миллисекундах. Скорее всего, это тот самый код, который теперь структурирован. Я бы посоветовал пройти через код и наблюдать за тем, что он на самом деле делает. Возможно, есть возможности, которые вы можете сделать для оптимизации кода.
Чтобы привести пример: если у вас есть свойство, которое выполняет поиск по значению, которое не изменилось, рассмотрите возможность первого доступа к этому свойству найти значение и сохранить его для использования в будущем. Таким образом, любые вызовы этого свойства после этого не должны выполнять поиск. Если вы считаете, что данные могут измениться, подумайте об использовании метода обновления или необязательного параметра обновления.
Этот пример может не соответствовать вашей конкретной ситуации, но вы получаете эту идею. Вы можете рассмотреть возможность размещения своего кода и попросить помочь сделать его быстрее.

+0

Спасибо за помощь! Оказывается, одна линия все вылизывала: S. Полезные знания классов не приносят больших издержек в любом случае. – JakeTheSnake

Смежные вопросы