|
|
|
| Доброе время суток!
Подскажите как решить такую проблему!
Написали макрос в Экселе для обработки информации, макрос использует данные из других файлов, обрабатывает из в массивах, заполняет конечный лист и сохраняет его как результат. Но при сохранении файл разбухает в два - три раза. Если же файл открыть, и повторно сохранить - размер файла принимает нужный объем. Никаких ссылок в файле нет, может дело в используемых массивах данных - и при схранении обьем массивов сохраняется с файлом?
И еще вопрос, макрос когда подтягивает данные из других книг - постоянно их открывает - тянет данные и закрывает, есть ли возможность тянуть данные не прибегая к подобной процедуре (может есть возможность вытягивать из "закрытых" файлов) - очень сильно увеличивается время работы макроса. | |
|
| |
|
|
|
| по первому пункту
это заморочки VBA (резервное копирование или еще что-то)
как бороться не знаю, т.к. пока с такой проблемой не сталкивался, хотя и пишу макросы;
по второму пункту (имхо)
файл по любому нужно открывать, но можно не отображать его, установив для него
Visible = False
Set appEx = New Excel.Application
appEx.Visible = False
|
можно оптимизировать работу макроса, проверив, не открывается ли одна книга несколько раз.
ну либо разбираться в структуре того, как эксель хранить данные (не знаю, насколько это реально) | |
|
| |
|
|
|
| или может можно указывать весь путь до ячейки не открывая файл
Данные="С:\Книга!лист!ячейка" | |
|
| |