PDA

Показать полную графическую версию : Удаление объектов на всех листах


obtim
23-01-2017, 11:25
Один сотрудников умудряется каким-то образом напихать объектов в документ excel(xlsx). Как - не знает. В документе много страниц. На каждой выделять объекты через "выделение группы ячеек"-"объекты" и потом их удалять-немного запарно. Как выделить объекты на всех листах в документе?

Iska
23-01-2017, 12:02
Один сотрудников умудряется каким-то образом напихать объектов в документ excel(xlsx). Как - не знает. »
Сначала сканируется какой-нибудь документ. Затем особо одарённое приложение для распознавания при отсутствии должного контроля со стороны исполнителя оформляет часть обрамления ячеек таблицы как текстовыенадписи и/или фреймы. Затем всё это дело перенаправляется в Excel/Word. Затем наступает этап «плодитесь и размножайтесь»: тот же или иной исполнитель начинает дублировать строки таблицы (разумеется, вместе с привязанными объектами), дабы увеличить потребное место. Затем дублирует листы, скажем, Январь дублируется в Февраль, затем в Март и т.д. В итоге Документ/Рабочая книга, красный размер которым со всем оформлением — пара сотен килобайт, расползается в размерах до нескольких десятков мегабайт, а открываться может — несколько минут вместо нескольких секунд.

Упакуйте пару-тройку образцов таких Рабочих книг в архив, каковой выложите на RGhost/Яндекс.Диск.

obtim
23-01-2017, 12:33
Спасибо. Решение скорей всего будет таким:

Sub Del_All_Shapes_WB()
Dim shp As Shape
Dim ws As Worksheet

For Each ws In ThisWorkbook.Worksheets
For Each shp In ws.Shapes
shp.Delete
Next shp
Next ws
End Sub

Жду, когда закончится обработка

Iska
23-01-2017, 12:52
Угу. Я примерно так и делал.




© OSzone.net 2001-2012