Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

Анимация в Excel   Найти похожие ветки 

 
brother ©   (2012-09-17 11:13) [0]

Я сделал это!
http://youtu.be/7aaYBlOByKc

зы. Кто поможет оптимизировать VBA скрипты?


 
AV ©   (2012-09-17 11:28) [1]

А зачем :)
Делать нечего?

Сделай лучше класс загрузки txt и html в TClientDataSet
где есть пропертя формат_строки_в_файле
где есть пропертя формат_таблицы_в_памяти
Динамически записываем формат_строки, скармливаем файл, получаем DataSet
разделители тоже любые, позиционные/спец.символы

И что бы удобно было, а не как у меня :)
Всегда лучше получается заново быстро написать для конкретного случая...


 
alexdn ©   (2012-09-17 11:50) [2]

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


 
brother ©   (2012-09-17 19:03) [3]

Так и что?


 
xayam ©   (2012-09-18 01:56) [4]

вот дай программисту игрушку :)


 
Труп Васи Доброго ©   (2012-09-18 09:40) [5]


> только у того компьютер наверно помощнее

Свига-ли помощнее? У того амера размер ячейки гораздо крупнее = ячеек меньше задействовано = картинка менее качественная.


 
DevilDevil ©   (2012-09-18 10:08) [6]

может сгенерировать скрытый лист со всеми кадрами и каждый кадр с этого листа копировать в основной (отображаемый) лист ?

P.S.

Public Sub ApplicationBeginUpdate()
 Application.ScreenUpdating = False
 Application.EnableEvents = False
 Application.Interactive = False
 Application.UserControl = False
 "Application.Calculation = xlCalculationManual
End Sub

Public Sub ApplicationEndUpdate()
 Application.EnableEvents = True
 Application.Interactive = True
 Application.UserControl = True
 Application.Calculation = xlCalculationAutomatic
 Application.DisplayAlerts = True
 Application.ScreenUpdating = True
End Sub


 
Труп Васи Доброго ©   (2012-09-18 11:14) [7]

Я вот сейчас "нарисовал" картинку на листе (руками), потом руками скопипастил её на 100 листов с небольшим смещением и сделал макрос который просто активирует листы по очереди. Очень динамичный "мультик" получился. Может так быстрее будет. Показывать по очереди показывать (по кругу) и фоном перерисовывать уже показанный.


 
brother ©   (2012-09-18 12:37) [8]

> Public Sub ApplicationBeginUpdate()
> Application.ScreenUpdating = False
> Application.EnableEvents = False
> Application.Interactive = False
> Application.UserControl = False
> "Application.Calculation = xlCalculationManual
> End Sub
>
> Public Sub ApplicationEndUpdate()
> Application.EnableEvents = True
> Application.Interactive = True
> Application.UserControl = True
> Application.Calculation = xlCalculationAutomatic
> Application.DisplayAlerts = True
> Application.ScreenUpdating = True
> End Sub

да уже применил...

> и фоном перерисовывать уже показанный.

не понял...


 
brother ©   (2012-09-18 12:42) [9]

главное, как я проверил, ну не может ексель пробежать 100x100 ячеек быстро закрасив их все( даже применяя [6] и это крупный облом (
зы. что позабавило, если при восспроизведении анимации навести мышь на ексель в таск баре, то после показа превью окна (вин7 х64) анимация ускоряется в 2 раза!!!


 
DevilDevil ©   (2012-09-18 12:47) [10]

> не может ексель пробежать 100x100 ячеек быстро закрасив
> их все( даже применяя [6]


Ты не увидел сути поста
Копируй область ячеек в область ячеек. А не раскрашивай программно.


 
brother ©   (2012-09-18 12:50) [11]

> Копируй область ячеек в область ячеек.

а, понял. поробую...


 
был здесь   (2012-09-22 23:18) [12]


> Кто поможет оптимизировать VBA скрипты?
> ...
> Копируй область ячеек в область ячеек. А не раскрашивай программно.
> ... сгенерировать скрытый лист


кстати если так рассуждать, то возможно практичнее сгенерировать скрытые
диапазоны строк, в каждом диапазоне фикс. кол-ва скрытых строк - будет один кадр, то есть все кадры получатся на одном листе...


 
был здесь   (2012-09-22 23:21) [13]

используя такой подход, анимация сведется к удалению первого диапазона строк и показу следующего диапазона (без копирования из ячейки в ячейку)


 
был здесь   (2012-09-23 00:00) [14]

плюс еще одна идея для оптимизации есть:

даже удалять не обязательно

в excel можно сделать зону скроллинга нужной высоты (в один кадр), тогда
анимация сведется к прокрутки зоны скроллинга от кадра к кадру


 
xayam ©   (2012-09-23 12:24) [15]

и еще одно ["был здесь" это я с нетбука]:

не стоит копировать на 100% то что было у того парня в плане качества:

!!!

возможно после оптимизации получится работать не с заливками ячеек, а с рамками этих ячеек, то есть размеры ячейки уменьшаются практически до нуля, останется только рамка! качество будет явно лучше на этих рамках-пикселях

!!!


 
brother ©   (2012-09-23 13:47) [16]

хм, подумаю...


 
Inovet ©   (2012-09-23 14:38) [17]

> [15] xayam ©   (23.09.12 12:24)

качество = разрешение?


 
xayam ©   (2012-09-23 16:32) [18]


> качество = разрешение?

и разрешение тоже.

Проблема тормозов имхо решится скроллингом, но оперативка нужна, файл получится бОльше по размеру...



Страницы: 1 вся ветка

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.115 c
2-1341059064
Начинающий41
2012-06-30 16:24
2013.03.22
DBEDIT


15-1352449269
tur0k_mag
2012-11-09 12:21
2013.03.22
cxTreeList + поле типа Combobox


15-1342014916
Zilog
2012-07-11 17:55
2013.03.22
дааа, а раньше форум кпиел


2-1330431730
Drowsy
2012-02-28 16:22
2013.03.22
Не показывается модальная форма.


11-1244182809
QAZ
2009-06-05 10:20
2013.03.22
HeapMM vs FastMM