|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
06.02.2013, 14:50 | #1 |
Новичок
Джуниор
Регистрация: 06.02.2013
Сообщений: 9
|
Макрос по избирательному удалению картинок
Доброго времени суток!
Проблема в следующем - часто копирую страницы из интернета и помещаю их в Excel, вместе с нужными данными копируются и картинки. Картинки делятся на 2 группы - нужные и ненужные. Удалять ненужные даже используя функцию "выбор объекта" всё равно получается утомительно - количество их приближается к тысяче. Заметил что при переносе в Excel ненужные картинки идут: в одном случае под чётными номерами, во втором под нечётными. Помогите написать макрос по удалению их согласно чётности/нечётности номера картинки. Высшим мастерством будет удаление ненужных картинок по их уникальным свойствам например размерам(все ненужные картинки имеют одинаковый отличный от нужных размер). заранее благодарен. |
06.02.2013, 15:24 | #2 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
Код работает с активным листом.
Код:
Последний раз редактировалось Скрипт; 07.02.2013 в 09:00. |
06.02.2013, 16:21 | #3 |
Новичок
Джуниор
Регистрация: 06.02.2013
Сообщений: 9
|
Сразу вопрос (из свойств и размера рисунка) высота 0.64,ширина 0.77 - как правильно записывать в константы? Просто записал как
Const myWidth As Double = 0.77 Const myHeight As Double = 0.64 Числа дробные, действительно проблема - ничего не происходит при выполнении кода. Может всё таки проще по условию чётности/нечётности удалять? Последний раз редактировалось Aegi; 06.02.2013 в 16:23. |
06.02.2013, 16:26 | #4 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Размеры задаются в пикселах - соответственно, таких дробных размеров у картинок быть не может.
Поглядите также эту программу для работы с картинками: http://excelvba.ru/programmes/PastePictures Она умеет не только вставлять картинки, но и удалять их (как со всего листа, так и из выделенного диапазона ячеек) Может, получится как-то выделить ячейки, где расположены неподходящие картинки |
06.02.2013, 16:39 | #5 |
Новичок
Джуниор
Регистрация: 06.02.2013
Сообщений: 9
|
Благодарю Скрипта за код(адаптирую его под другие нужды)), EducatedFool - надстройка действительно помогла и решила проблему,вам также спасибо).
|
06.02.2013, 16:50 | #6 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
Aegi, ширина и высота в VBA в данном случае измеряется в пунктах.
|
06.02.2013, 22:56 | #7 |
Новичок
Джуниор
Регистрация: 06.02.2013
Сообщений: 9
|
Скрипту
Sub Procedure_1() Set etShape = ActiveSheet.Shapes("Picture 2") Dim myShape As Excel.Shape Dim i As Long Application.ScreenUpdating = False For i = ActiveSheet.Shapes.Count To 1 Step -1 Set myShape = ActiveSheet.Shapes(i) If myShape.Width = etShape.Width And myShape.Height = etShape.Height Then myShape.Delete End If Next i Application.ScreenUpdating = True MsgBox "Работа кода завершена.", vbInformation End Sub etShape("Picture 2") - ненужная картинка размеры которой использую для условия удаления. Константы не могу использовать по причине незнания значений высоты и ширины картинки для VB. Данный макрос работает, но есть один нюанс - когда доходит до сравнение эталона с эталоном и он удаляется, код прерывается из за отсутствия объекта для сравнения. Подскажите как занести только значения размеров эталона, чтобы даже если он удалён его размеры остались. Последний раз редактировалось Aegi; 07.02.2013 в 00:36. |
07.02.2013, 01:13 | #8 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
Код:
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
07.02.2013, 09:05 | #9 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
Aegi, размеры рисунка в пунктах можно узнать так:
|
07.02.2013, 09:53 | #10 |
Новичок
Джуниор
Регистрация: 06.02.2013
Сообщений: 9
|
Узнал размеры через эти команды, подставил по первому коду всё работает. Огромное спасибо вам Скрипт).
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Макрос для сохранения всех картинок из Word в файл | Nitro | Microsoft Office Word | 5 | 24.05.2012 21:05 |
Как создать правильный скрипт, по удалению не нужных строк? | wwizard | Microsoft Office Excel | 5 | 26.02.2010 18:35 |
Помогите пожалуйста написать макрос для автоматической пронумеровки картинок в Word | Spot123 | Microsoft Office Word | 0 | 24.12.2009 09:22 |
Помогите решить проблему по удалению записи из DBGrid. | Droid | БД в Delphi | 34 | 02.07.2009 13:39 |
Программа по удалению мусора | KORN | Софт | 12 | 31.10.2007 08:58 |