Задача: сжать рисунки о офисном файле (в частности, в книге Excel) средствами VBA
(на панели Настройка изображения есть кнопочка Сжатие рисунков)
Проблема: макрорекордер ничего не пишет (ни в Office 2003, ни в 2007-м)
У объектов типа IPicture, IPictureDisp, Shape нет соотвествующих методов и свойств. (по крайней мере, найти мне не удалось)
Поиск ничего не дал - на других форумах видел пару аналогичных вопросов - но без ответов...
Скорее всего, функция оптимизации изображения находится в общей для всех офисных программ библиотеке
(либо в exe-файле программы Microsoft Office Picture Manager)
Знать, хотя бы, в какой библиотеке искать эту функцию...
Должно же быть возможно выполнить это действие средствами VBA.
SendKeys использовать не хочется...
Cжать рисунки средствами VBA
Модератор: Naeel Maqsudov
- EducatedFool
- Сообщения: 197
- Зарегистрирован: 06 апр 2008, 14:03
- Откуда: Россия, Урал
- Контактная информация:
-
- Сообщения: 526
- Зарегистрирован: 04 фев 2007, 18:37
- Откуда: Сургут
- Контактная информация:
Здравствуйте EducatedFool.
Не достаточно ли простого изменения размера отображаемого рисунка, С такой задачей VBA справляется легко:Евгений.
Не достаточно ли простого изменения размера отображаемого рисунка, С такой задачей VBA справляется легко:
Код: Выделить всё
Sub resizePic()
With ActiveSheet.Shapes("Picture 2")
.LockAspectRatio = True 'False
.Height = 400
'.Width = 200
End With
End Sub
- EducatedFool
- Сообщения: 197
- Зарегистрирован: 06 апр 2008, 14:03
- Откуда: Россия, Урал
- Контактная информация:
Здравствуйте, Евгений.
К сожалению, изменение размеров не поможет - рисунки уже имеют нужный размер.
Вот только глубина цвета у них 24 bit, да и разрешение высокое.
После вставки рисунков файл весит более 5 мегабайтов, а после сжатия размер файла значительно уменьшается (до 64 Кбайтов)
Видимо, эта встроенная функция урезает глубину цвета и разрешение изображения.
При этом визуально ухудшение качества изображения не наблюдается.
Вот и хотелось бы добиться такого эффекта не нажатием кнопок, а средствами VBA...
Игорь.
К сожалению, изменение размеров не поможет - рисунки уже имеют нужный размер.
Вот только глубина цвета у них 24 bit, да и разрешение высокое.
После вставки рисунков файл весит более 5 мегабайтов, а после сжатия размер файла значительно уменьшается (до 64 Кбайтов)
Видимо, эта встроенная функция урезает глубину цвета и разрешение изображения.
При этом визуально ухудшение качества изображения не наблюдается.
Вот и хотелось бы добиться такого эффекта не нажатием кнопок, а средствами VBA...
Игорь.