Показывать встроенный индикатор выполнения, когда application.screenupdate = false? - PullRequest
0 голосов
/ 03 марта 2011

Мне просто интересно, можно ли по-прежнему показывать встроенный индикатор выполнения, пока я использую этот параметр:

Application.ScreenUpdating = False

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

Application.StatusBar

для отображения сообщений, которые я запрограммировал, и встроенный индикатор выполнения, показывающий ход открытия файла, как в Excel, если включен ScreenUpdating.

Возможно ли это? Должен ли я вместо этого программировать свой собственный индикатор прогресса? Это скорее вопрос производительности, я бы предпочел не делать этого, если моя программа закончится через 1 м35 с, а не 1 м 30 с.

1 Ответ

0 голосов
/ 03 марта 2011

Нет, это невозможно. Подумайте об этом - вы сказали Excel не обновлять пользовательский интерфейс, поэтому ясно, что вы не можете затем обновить пользовательский интерфейс. Если вы хотите отобразить прогресс, вам нужно будет либо разрешить Excel обновить U / I, либо создать собственную индикатор выполнения.

Самый быстрый способ, конечно же, не беспокоить отображение прогресса. Если производительность настолько важна, что разница между 1м30 с и 1м35с имеет значение, не отображайте информацию о прогрессе и вместо этого выполните 1м29 с или менее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...