Страницы: 1
RSS
Как ускорить открытие файлов в vba?
 
Здравствуйте!

Написал макрос(в  файле "Открытие файлов.xlsm"), который ищет текстовые значения в всех файлах указываемой вручную папки. Столкнулся с тем, что он медленно открывает файлы типа прикладываемого "файл для открытия.xlsx", которых много в папке, на которой отрабатывает макрос.  Каждый типовой "файл для открытия.xlsx"  при открытии как понимаю хочет подтянуть надстройку эксель.
Открываю файлы командой:
Код
Workbooks.Open sPath & objFile.Name, 0, , , , , , , , , , , , , xlNormalLoad
Можно ли каким-то параметром этой команды открывать файлы так, чтобы эта надстройка не подтягивалась. Одним словом, как-то ускорить процесс открытия таких файлов.
желаю всем счастья
 
Цитата
borro написал:
при открытии как понимаю хочет подтянуть надстройку эксель.
Вообще-то все надстройки подтягиваются при открытии первого файла. По идее он у вас уже есть -  "Открытие файлов.xlsm". Так-что дело в чем-то другом, имхо.
 
ИМХО:
1) открывать файлы через GetObject();
2) отключить автоматический пересчёт формул;
3) отключить обновление внешних ссылок.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Цитата
borro написал:
Столкнулся с тем, что он медленно открывает файлы
А что значит медленно?
Вполне возможно, что это вопрос конкретной системы и её быстродействия. Например с SSD скорость реакции возрастает очень заметно, не смотря на то, что файлы не большие, надо смотреть чем занята память и не свопируется ли что, ну и  конечно не забываем про антивирус, который с наслаждением жрет ресурс и время, проверяя открываемый файл на вшивость. При единичном открытии это замедление не заметно, а вот в пакетном режиме набежит.

P.S. была задача, перед отправкой в налоговую, все выгрузки расчетных листков из 1с,  защитить от изменений на всех листах. Более 7000 файлов обрабатывались более 4х часов.
По вопросам из тем форума, личку не читаю.
 
Цитата
Михаил С. написал:
Вообще-то все надстройки подтягиваются при открытии первого файла
Здравствуйте! Спасибо. Надстройка подтягивается файлами типа "файл для открытия.xlsx"
JayBhagavan, спасибо. Попробую.
Медленно - это когда в режиме отладки всё зависает на секунд 60 на команде Workbooks.Open
желаю всем счастья
 
60 секунд - это перебор, конечно...
Страницы: 1
Наверх