создать новую тему раскрыть все
свернуть/развернуть ветвь Экспорт в Excel [Вячеслав 17/12/2006 07:46] # написать ответ
 
При экспорте в Excel из AbilityCash видно как идет добавление листов, добавление строк данных. Если это убрать - т.е. сделать невидимым для пользователя процесс добавления листов, строк данных, - экспорт в Excel будет почти моментальным. В VBA - макроязыке для написания макросов в Excel - есть свойство:
 
Application.ScreenUpdating = {True/False}
 
отключающее/включающее обновление экрана.
 
Из справки Excel о свойстве ScreenUpdating:
Turn screen updating off to speed up your macro code. You won`t be able to see what the macro is doing, but it will run faster.
 
Вообще можно Excel не показывать во время выгрузки, а показать только после того, как данные будут выложены.
свернуть/развернуть ветвь Выгрузка и зависание [Denis ® 24/12/2006 21:36] # написать ответ
 
При выгрузке большого количества операций и не видя что что-то происходит, пользователем, скорее всего, будет сделан вывод о том, что программа "зависла".
свернуть/развернуть ветвь (+1) (-) [Тарас (Киев) 25/12/2006 09:29] # написать ответ
 
 
...успеет сделать никакого вывода, потому что, если вы работали с макросами в Excel, именно "выгрузка" даже "большого количества операций" ПРИ выключенном обновлении экрана будет происходить за МИЛЛИСЕКУНДЫ, как раз за счет исключения затрат времени на прорисовку экрана. Потому что имейте ввиду, если у вас в Excel на экране отображено 45 строчек, а внизу должно появиться еще 10000 невидимых при 30 столбцах в каждой, Excel будет считать (это при включенном обновлении экрана), что вы видите все 10000 одновременно, потому что затраты времени на добавление новой невидимой строки будут ровно те же самые, как и на добавление строки, по которой вы прямо видите как добавляются ее столбцы! При выключении обновления экрана экономия затрат времени может достигать 10 крат.
 
Правда все это существенно для весьма слабого видео и/или при весьма частом экспорте данных. Поэтому, видимо, предложение снимается.