Главная Новости

Долго открывается и запускается Word

Опубликовано: 02.04.2017

видео Долго открывается и запускается Word

Как уменьшить размер Excel таблицы в 26 раз

Обратился к нам клиент с вопросом: тормозит Excel, при этом конкретно на одном определенном листе. Все другие листы в той же книжке работают нормально. Анализ (и Гугл) отдал  — правда к тому времени мы уже додумались грохнуть большой файл drawings снутри архива xlsx, но макрос более ценен! Сущность трудности в неограниченном количестве пустых объектов типа Shape. Необходимо их удалить и будет всем счастье!



 

Sub DeleteAllTextBox()
Dim oSh As Shape
For Each oSh In ActiveSheet.Shapes
oSh.Delete
Next oSh
End Sub

Мой знакомый прислал мне Excel-файл содержащий порядка 200 строк без формул и связей, и весящий около 28МВ! Для перехода курсора из ячейки в ячейку требовалось несколько секунд. 1-ое, что я сделал, это удалил всё форматирование, очистил все пустые ячейки. Не очень посодействовало. Удалил все данные. Ситуация чуток стала лучше, но верно было видно, что файл «тормозит». Задал вопрос в Гугл – о волшебство! – отыскал ответ.


Как уменьшить размер файла и ускорить его в Excel

Наверняка это побочный эффект копирования. Похожая вещь появляется при вставке данных целыми листами либо столбцами/строчками из файлов, сделанных 1С и схожих (ERP) систем: они генерируют в файл «пустые» ячейки (забитые пробелами) и объекты типа Надпись. В конечном итоге с течением времени файл становится очень огромным.
В Excel2003: меню Правка → Перейти → Выделить → Объекты.
В Excel2007: вкладка Основная → Отыскать и выделить → Выделение группы ячеек → Объекты.
Весь процесс сопровождался долгими лагами, но в конечном итоге выделилась какая-то непонятная ерунда, которую я удалил, после чего торможение пропало.


Как Установить Word

К огорчению, в моем файле оказалось практически 14 000!  . Чтоб узреть все объекты, пройдите по меню: вкладка Основная → Отыскать и выделить → Область выделения:

Часть объектов можно узреть справа на дисплее; один объект под номером 13 697 выделен в перечне и на дисплее:

При попытке выделить все объекты Excel зависал (через 30 минут надоело, снял задачку).

2-ое воззвание к Гугл «навело» на макрос.:

Sub DeleteAllTextBox()

Dim oSh As Shape

For Each oSh In ActiveSheet.Shapes

oSh.Delete

Next oSh

End Sub

Другими словами, не выделять все объекты сходу, а запустить макрос, который будет отыскивать объекты по одному и удалять. В файле макрос совладал с ликвидированием 14 000 объектов за 5 минут! 

rss