Тема немного старая, но нашел немного другой макрос, расстановки меток вместо картинок.
Этот скрипт удаляет еще и диаграммы, и смарт-объекты, которые он тоже считает картинками.
Можно.
Код:
Sub Picture_del()
Dim oInlineShape As InlineShape
Dim i As Integer
i = 1
Selection.HomeKey Unit:=wdStory
For Each oInlineShape In ActiveDocument.InlineShapes
oInlineShape.Select
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.TypeText Text:="img" & i
i = i + 1
Next
End Sub
А вот этот скрипт работает только с внедренными картинками:
Код:
Sub del_pick()
Dim ii, rng, nn
nn = 0 'число собс-но картинок
With ActiveDocument.InlineShapes
For ii = 1 To .Count Step 1 'сначала считаем картинки
If .Item(ii).Type = 3 Then 'Это картинка
nn = nn + 1 'Увеличим счетчик картинок
End If
Next ii
If nn > 0 Then ' Если есть что заменять
For ii = .Count To 1 Step -1 'теперь пойдём от хвоста
If .Item(ii).Type = 3 Then 'Это картинка?
Set rng = .Item(ii).Range.Duplicate ' запомним место
.Item(ii).Delete 'удалим картинку
rng.Text = "[img]image" & nn & ".tif[/img]" 'Впишем название
nn = nn - 1 'Уменьшим счётчик картинок
End If
Next ii
End If
End With
End Sub
Если вордовский файл открыть как архив, то в папке media можно взять растровые картинки, их имена совпадают с нумерацией которая проставляется скриптом выше (замечено, что если в ворде вставить картинку, то последовательность картинок в media пересоздается заново, в порядке появления картинок), переконвертить в tif, с помощью TFManagerCS3 можно вставить их обратно в верстку.
Вариант с открытием ворда как архива
предпочтительнее взятия картинок из pdf, потому что в папке media лежат картинки в своем реальном качестве, а из pdf картинки экспортируются с учетом их трансформаций (большая картинка в ворде может быть вставлена крохотным рисунком, а вы в верстке захотите его чуть увеличить, либо маленькая картинка может быть растянута до безобразия - в результате получите размыленную картинку с хорошим разрешением)