Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

Анимация в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.077 c
15-1341404995
alexdn
2012-07-04 16:29
2013.03.22
Главное меню Joomla


2-1342438715
Pcrepair
2012-07-16 15:38
2013.03.22
Как правильно запустить один цикл внутри другого?


2-1335212783
vegarulez
2012-04-24 00:26
2013.03.22
[named pipes] Как?


15-1336765355
Rouse_
2012-05-11 23:42
2013.03.22
Схемы защиты ПО


2-1338866460
Alex_Y
2012-06-05 07:21
2013.03.22
Не останавливается Breakpoint





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский