Страницы: 1
RSS
Работа с файлом без его открытия
 
Знатоки, подскажите возможно ли что-либо (а конкретно интересует поиск информации) делать с неоткрытым файлом Excel? и главное как это осуществить?  
 
В реализуемом процессе слияния данных из множества файлов много времени занимает открытие и закрытие этих файлов, а хочется быстро :)  
 
Заранее спасибо за совет.
 
{quote}{login=Сергей М}{date=22.09.2010 10:42}{thema=Работа с файлом без его открытия}{post}Знатоки, подскажите возможно ли что-либо (а конкретно интересует поиск информации) делать с неоткрытым файлом Excel? и главное как это осуществить?  
 
В реализуемом процессе слияния данных из множества файлов много времени занимает открытие и закрытие этих файлов, а хочется быстро :)  
 
Заранее спасибо за совет.{/post}{/quote}  
в totalcomnander есть хороший поиск по закрытым файлам  
а тут на конкретнее указывать что вы хотите
Спасибо
 
А много времени - это сколько?  
Если файлы небольшие, то оптимизацией макроса можно достичь скорости 10...20 файлов Excel в секунду.  
 
Структура файлов одинаковая? Какой средний размер обрабатываемого файла?  
Прикрепите к сообщению один такой файл, и скажите, что в нём должен искать макрос.
 
Файлы по 3 Мб примерно, штук 200 и более, открываются по 10-15 секунд + закрываются = много пустого времени.  
 
Структура одинаковая, но инфа "гуляет" столбцам, я ее ищу по определенному параметру (дате в определенной строке) и собираю.  
В принципе макрос работает, но хочется быстрее.  
 
P.S. с работы что-то не отсылалось, поэтому долго реагирую :)
 
Да уж, великоваты файлы...  
Там что, формул много, раз они так долго закрываются?  
 
Перед обработкой файлов отключайте автоматический пересчёт формул - должно заметно сказаться на скорости макроса.  
 
PS: Можно попробовать один раз проиндексировать всё файлы, чтобы каждый раз не открывать их все.
 
Да формул там предостаточно: аналитические таблицы, не просто база данных.  
Попробую отключить.  
 
Как индексировать не в курсе, не намекнете?  
 
И на сколько я понимаю без открытия файлов мне не обойтись?
 
C индексацией - не так всё просто. Надо писать достаточно сложный макрос.    
 
Для начала перед обработкой файлов отключите автоматический пересчёт формул - командой application.Calculation=xlCalculationManual  
Это позволит заметно сократить время обработки файла    
Отпишитесь, сколько времени будет занимать обработка одного файла - если 1-2 сек., то никакой индексации (и, следовательно, усложнения программы) не потребуется.  
 
 
А можно ли обойтись без открытия файлов - не знаю.  
Надо знать структуру файла, изменяется ли он со временем, какие данные вы оттуда вытягиваете, и т.д.
 
Попробовал на небольшом количестве файлов - получается примерно 4-5 секунд. Как минимум раза в 2 быстрее, завтра на большом количестве попробую.  
 
Спасибо огроменное.
Страницы: 1
Читают тему
Наверх