powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel VBA сохранить Picture
4 сообщений из 4, страница 1 из 1
Excel VBA сохранить Picture
    #39646594
Фотография Dimonka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть шаблон документа, настройки которого сохраняются в XML. Сохраняется всё, цвета, эффекты, положение элементов, содержимое ячеек итд.
Что хочется: На шаблоне имеется место под логотип (Picture) и этот логотип тоже хочется сохранять в XML со всеми остальными настройками.

Перерыл весь гугл и не смог найти нормального способа сохранить элемент Picture ни в поток ни даже в файл из VBA.
Нашёл один извращённый способ экспорта через создание графика.
Хотелось бы экспортировать изображение "как есть" с изначальным разрешением и со всеми прозрачностями итд.

Excel 2010
...
Рейтинг: 0 / 0
Excel VBA сохранить Picture
    #39646600
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не смог понять, где именно исходно находится картинка?
Если речь идет о файле xlsx - то можно ее достать прямо из этого файла, ибо он представляет собой zip-архив и изображения сам хранятся как обычные файлы.
...
Рейтинг: 0 / 0
Excel VBA сохранить Picture
    #39646603
Фотография Dimonka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
Картинка находится на листе Excel, файл открыт пользователем. Но это в принципе идея. Можно попробовать насильно сохранить файл и лезть в архив.

Есть какой-нибудь пример подобного кода на VBA?
...
Рейтинг: 0 / 0
Excel VBA сохранить Picture
    #39646621
Фотография Dimonka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем логика понятна:

открывается .\xl\workbook.xml , ищется нужный лист по имени и запоминается его r:id

открывается .\xl\_rels\workbook.xml.rels и в нём ищется имя листа (Target) по Id

открывается файл указанный в Target (предыдущий шаг) и в нём ищется элемент drawing и запоминается r:id

открывается файл \xl\worksheets\_rels\ & Target & ".rel" в нём ищется элемент и в нём ищется Relationship по Id = r:id и запоминается Target

открывается файл указанный в Target (предыдущий шаг) и в нём ищется элемент с именем <xdr:cNvPr name="Имя Элемента"

относительно найденного элемента надо найти элемент ..\..\xdr:blipFill\a:blip и в нём прочитать свойство r:embed

открывается файл Target & ".rel" и в нём ищется Relationship по Id = r:embed и и в нём Target указывает на местоположение файла картинки

Легко и просто :-) Может у кого есть готовый код? :D
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel VBA сохранить Picture
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]