Бесплатный профилировщик VB6 / VBA и лучшие практики Excel

У нас есть много отчетов, которые создаются с помощью VBA и Excel. Лишь небольшой процент отчетов являются фактическими вычислениями - большая часть работы - это вызовы sql и форматирование / запись ячеек. Самый длинный из которых занимает несколько часов, большинство занимает около 20-30 минут каждый.

Код VBA / Excel подключается к DLL, которую используют настольные приложения VB6 - именно здесь выполняются все вызовы sql. Хотя я уверен, что здесь есть возможности для улучшения, меня это не беспокоит - настольные приложения довольно быстрые.

Две функции VBA используются в изобилии: они называются GetRange и SetupCell, и они почти всегда появляются вместе. Функция GetRange является оболочкой для объекта Excel.Range. Требуется лист и 4 значения для экстентов диапазона. Его основное назначение - выбрать ячейку для редактирования. Похоже, что шансов на это не так много, но это лучший способ?

Его партнер - SetupCell. Для этого требуется объект Excel.Range, текст и дюжина параметров о ячейке (шрифт, границы и т. Д.). Большинство из этих параметров являются необязательными логическими значениями, но опять же, это кажется очень расточительным. Некоторые из них могут быть установлены посмертно, но некоторые зависят от значений, содержащихся в ячейке.

В этих функциях содержится довольно много кода, в основном, если операторы и работа не оценят мою публикацию.

Я думаю, у меня есть два вопроса:Есть ли лучший способ и что это а такжеЕсть ли бесплатный профилировщик, который я могу использовать, чтобы увидеть, если большая часть времени здесь или в DLL?

Ответы на вопрос(5)

Ваш ответ на вопрос