Здравствуйте!
А можно ли макросом сразу сохранить рисунок из документа Word на диск?
Действия примерно такие:
выделить рисунок, запустить макрос, потом выбрать папку сохранения и сохранить.
В самом ворде 2010+ можно сохранить рисунок на жёсткий диск, но в VBA такой возможности нет.
В интернете я нашёл только способ с использованием api-функций, но он сложный (нужно разбираться, что там). Не хочу разбираться в этом.
Можно попробовать использовать программу "Publisher". Она входит в пакет "MS Office" (может быть не в любой пакет, т.к. пакеты есть разные).
Макрос
Sub макрос()
Dim pub As Object, pub_doc As Object, pub_shape As Object
'1. Копирование рисунка (он должен быть выделен)
Selection.Copy
'2. Запуск программы "Publisher".
Set pub = CreateObject("Publisher.Application")
'3. Присваиваем имя "pub_doc" активному файлу программы "Publisher", чтобы потом
' в коде обращаться к этому файлу по этому имени.
Set pub_doc = pub.ActiveDocument
'4. Вставка в активный файл, на первый лист рисунка из буфера обмена.
pub_doc.Pages(1).Shapes.Paste
'5. Присваиваем имя "pub_shape" вставленному рисунку, чтобы потом
' в коде обращаться к рисунку по этому имени.
Set pub_shape = pub_doc.Pages(1).Shapes(1)
'6. Сохранение рисунка на жёстком диске.
' 0 - pbPictureResolutionDefault
pub_shape.SaveAsPicture FileName:="C:\Users\User\Desktop\рисунок.jpg", pbResolution:=0
'7. Закрытие программы "Publisher".
pub.Quit
End Sub
Хорошо, спасибо, попробую так. Хотелось просто ускорить процесс и не сохранять все рисунки сразу (такое происходит при сохранении файла в формат html).
Не понятно, что вам хотелось.