1

Тема: копирование изображения в файл

Добрый день!
Существует задача: из документа с большим числом изображений скопировать изображения в отдельные файлы. (необходимо точное именование каждого файла, поэтому способы типа html не подходят - в получившимся оч сложно разбираться)

Основная проблема: как сохранить одиночное изображение (желательно конкретный работающий код). Организовать цикл и т.д. не проблема.

В сети упоминается, что надо подключать библиотеки, только как это делать в рамках стандартного интерфейса VBA, встроенного в офис не понятно.

Буду благодарен за помощь.

2

Re: копирование изображения в файл

В каком формате надо сохранять? Как изображение или как файл Word?

3

Re: копирование изображения в файл

как отдельный файл-изображение (.png, .jpg, и т.п.)

4

Re: копирование изображения в файл

Aleks пишет:

В сети упоминается, что надо подключать библиотеки, только как это делать в рамках стандартного интерфейса VBA, встроенного в офис не понятно.

Aleks пишет:

как отдельный файл-изображение (.png, .jpg, и т.п.)

1. А в формат PDF не подойдет? В этом случае необходимость подключения библиотек отсутствует. Все решается в рамках стандартного интерфейса VBA, встроенного в офис.
2. Откуда брать названия файлов? Довольно простой алгоритм получается, если все рисунки имеют обтекание "в тексте", а название рисунка, которое используется в качестве имени файла, находится  в абзаце, следующем за абзацем, в котором находится рисунок.

5

Re: копирование изображения в файл

Boris_R,
1. В формате pdf не подойдет, т.к. конечная цель "взять" все рисунки документа, затем их отдельно пакетно редактировать, попом вставлять обратно.

2. Проблема названия файлов наиболее простоя, делать имена рисункам очень просто. Вариант с названием из следующего абзаца я реализовал, но мне он не понравился, тюк потом сложно будет забирать рисунки обратно. Сейчас они именуются в возрастающей последовательности "1,2,3,...,n".

Нашел пару рабочих вариантов, но они мне оба пока не нравятся.

1) Создаются мета-файлы изображения, которые плохо читаются. Правда, если их фотошоп "проглотит", то проблемы не будет,  на рабочей машине его еще нет.
2) Создание бит-мап изображений. Но тут косяк - изображения, если они вставлены как объекты Visio сохраняются весьма криво (обрезаются).  Я пытался исправить алгоритм, но безуспешно (знаний не хватает). Получились только костыли с уменьшением размера нужных изображений.

В принципе, если кому интересно, могу поделится найденным.

6

Re: копирование изображения в файл

Есть такой вариант экспорта в формат jpg.
1. Можно создать шаблон с пустым блоком диаграммы.
2. Циклом перебора Shape и InlineShape выбирать картинки, присваивать им имена по нужному алгоритму.
3. Затем это Shape или InlineShape копируется в пустой блок диаграммы.
4. Затем диаграмма с рисунком экспортируется в .jpg в указанную папку с именем Shape или InlineShape.

7

Re: копирование изображения в файл

Aleks пишет:

1. В формате pdf не подойдет, т.к. конечная цель "взять" все рисунки документа, затем их отдельно пакетно редактировать, попом вставлять обратно.

Посмотрите какой подход можно использовать, чтобы "взять" все рисунки документа, затем их отдельно пакетно редактировать, потом вставлять обратно:
внешняя ссылка.

8

Re: копирование изображения в файл

Спасибо, Boris_R, интересная статья.
aap77, про диаграммы тоже читал, только тут тоже свои косяки, например рамки от диаграмм.

В общем по наводке из статьи Boris_R проблемы решились - найдена программа которая пакетно обрабатывает метафайлы.

9

Re: копирование изображения в файл

Aleks пишет:

В общем по наводке из статьи Boris_R проблемы решились - найдена программа которая пакетно обрабатывает метафайлы.

Алекс, напишите, пожалуйста, на всякий случай, что это за программа.

Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

10

Re: копирование изображения в файл

Aleks пишет:

Спасибо, Boris_R, интересная статья.
aap77, про диаграммы тоже читал, только тут тоже свои косяки, например рамки от диаграмм.

В общем по наводке из статьи Boris_R проблемы решились - найдена программа которая пакетно обрабатывает метафайлы.

Никаких рамок, рамка становится в размер картинки. Тем более что метафайлы в качестве теряют при экспорте.

11

Re: копирование изображения в файл

Alex_Gur, программа - IrfanView

aap77, можно пример кода, а то мне не удалось справиться с диаграммами ((