Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.49 MB
Время: 0.083 c
2-1336839148
тщгыук
2012-05-12 20:12
2013.03.22
а ля Self внутри with do


15-1347716987
Roman_man
2012-09-15 17:49
2013.03.22
Какая функция смещает вывод Canvas?


15-1345119186
stas
2012-08-16 16:13
2013.03.22
Расчет площади сложной фигуры


15-1331485386
PiramidaHeiopz
2012-03-11 21:03
2013.03.22
Площадь заливки чернилами


6-1247157100
axis_of_evil
2009-07-09 20:31
2013.03.22
TidSMTP




   Наверх