Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.03.2009, 21:41   #1
nemoomen
Пользователь
 
Регистрация: 26.02.2009
Сообщений: 58
По умолчанию Сохранение книги большого размера.

Господа, посоветуйте и направьте на путь истинный!!!

Есть Excel-программа, которая хранит большой объем данных в книге, которая лежит на одном из компов в сетке. После обмена данными с этой книгой дается команда на ее сохранение. Книга размером более 10 метров. Соответственно пока она сохраняется - сидишь, куришь!

Может есть какая возможность сохранять ее в "фоновом" режиме (я не курящий !)

В крайнем случае может какой ползунок с музыкой запускать?!
nemoomen вне форума Ответить с цитированием
Старый 18.03.2009, 23:33   #2
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от nemoomen Посмотреть сообщение
Книга размером более 10 метров. Соответственно пока она сохраняется - сидишь, куришь!?!
А каковы данные вашей "железяки"?
valerij вне форума Ответить с цитированием
Старый 19.03.2009, 00:06   #3
nemoomen
Пользователь
 
Регистрация: 26.02.2009
Сообщений: 58
По умолчанию

Цитата:
А каковы данные вашей "железяки"?
Селероны 2,4
1 гиг ОЗУ
Книгу размером 10 м пишет около 30 сек.
nemoomen вне форума Ответить с цитированием
Старый 19.03.2009, 01:17   #4
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от nemoomen Посмотреть сообщение
Селероны 2,4
1 гиг ОЗУ
Книгу размером 10 м пишет около 30 сек.
На работе у меня, аналогичная железяка и то же сохраняет так же, а что ты хотел, с таким проц. там кэш 256 кб, а может и выкинут совсем!
(Celeron готовился для рынка т.н. "нижнего уровня", к которому принадлежат офисные и домашние компьютеры. Кэш второго уровня был выкинут совсем (основной ценообразующий фактор в процессоре, т.к. основная масса транзисторов приходится именно на кэш и выход брака тоже прямо зависит от этого, и интелевые мудрецы, не мудрствуя лукаво, предложили уменьшить объем кэша до нуля, повысив этим выход пригодных процессоров, а следовательно, сильно снизив цену), поэтому производительность упала настолько, что никакой конкуренции процессор составлять не может.)
valerij вне форума Ответить с цитированием
Старый 19.03.2009, 01:40   #5
nemoomen
Пользователь
 
Регистрация: 26.02.2009
Сообщений: 58
По умолчанию

К сожалению, офисную технику, как и родителей не выбирают.

И вопрос ставил не о том, хорошие Селероны или нет! Естественно НЕТ!

Цитата:
Может есть какая возможность сохранять книгу в "фоновом" режиме?

В крайнем случае может какой ползунок с музыкой запускать?!
Есть идеи?
nemoomen вне форума Ответить с цитированием
Старый 19.03.2009, 01:50   #6
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от nemoomen Посмотреть сообщение
Есть идеи?
Только одна, соответственно пока она сохраняется - заняться сексом!
Цитата:
Сообщение от nemoomen Посмотреть сообщение
Соответственно пока она сохраняется - сидишь, куришь!

Последний раз редактировалось valerij; 19.03.2009 в 02:51.
valerij вне форума Ответить с цитированием
Старый 19.03.2009, 02:05   #7
nemoomen
Пользователь
 
Регистрация: 26.02.2009
Сообщений: 58
По умолчанию

Монстры спят - на форуме бардак!!!!!
nemoomen вне форума Ответить с цитированием
Старый 19.03.2009, 03:36   #8
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
В крайнем случае может какой ползунок с музыкой запускать?!
Не получится.
Есть же штатный "ползунок" - чем он Вас не устраивает?

Реально сократить время сохранения файла до 2 - 5 секунд.
Для этого надо:

1) почистить файл при помощи VBACodeCleaner (найти можно здесь)

2) Вынести весь код VBA в отдельный файл (надстройку)

3) Создать новую книгу, и перенести все данные в неё (размер файла может заметно уменьшиться)

4) Избавиться от лишнего форматирования

5) Выявить листы, наличие которых заметно отражается на времени сохранения (удалять листы по одному, и наблюдать за временем сохранения - на листах могут содержаться невидимые объекты, заметно влияющие на время сохранения)

Вообще, есть простой способ определения минимально достижимого времени сохранения файла:
пишем макрос, который создаёт новую книгу, и для каждого листа проверяемой книги создаёт в новой книге лист, и копирует туда значения ячеек (без какого-либо форматирования) с текущего листа.
Если полученная книга сохраняется намного быстрее - причина найдена.

От наличия кода тоже очень много зависит.
У меня файл с 10000 строками кода ( + 10 форм) сохраняется на подобном компе за 6-10 секунд.
По мере удаления модулей с кодом и форм время сохранения файла уменьшается пропорционально количеству оставшегося кода, и в файле без кода достигает долей секунды.

Отправьте файл мне на почту (igor <6 дефисов> @mail.ru)
Посмотрим, что можно сделать...
EducatedFool вне форума Ответить с цитированием
Старый 19.03.2009, 08:03   #9
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Для этого надо...
Игорь
А как замерить время до чистки и после чистки, на форуме уже выкладывались коды для замеров, но как то они не стабильны, один и тот же файл, а время совершенно разные.
Может отдельную книгу с макросом замера времени, а в ней открываешь свою и в ней удаляешь по листу.....
valerij вне форума Ответить с цитированием
Старый 19.03.2009, 12:15   #10
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
на форуме уже выкладывались коды для замеров, но как то они не стабильны, один и тот же файл, а время совершенно разные.
А что сложного?
В цикле удаляем по одному листу (или по одному модулю с кодом)
После каждого удаления:
1) сохраняем файл (время не замеряем, так как выполняется компиляция проекта VBA)
2) 10 раз подряд сохраняем файл, засекая время при помощи функции Timer
3) Делим полученное время на 10 - получаем точное время сохранения.
EducatedFool вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сохранение книги Excel по названию ячейки и по пути ячейки IFRSoff Microsoft Office Excel 16 07.06.2012 16:58
Програмное сохранение книги на флешку. nemoomen Microsoft Office Excel 4 05.07.2009 22:34
Сохранение большого файла в WinWORD 2003 alex_z_ua Microsoft Office Word 1 23.09.2008 18:54
Сохранение книги с интерфейсом. Возможно? smand Microsoft Office Excel 7 06.12.2007 06:05