Здравствуйте!
Я наконец-то вроде бы решил вопрос, который поднимался в самом начале. Может быть это будет потом кому-то полезно.
Итак, задача состоит в следующем. Нужно график из документа Excel сохранить как картинку в Word.
Для начала зададим папку для сохранения графиков по умолчанию. Для этого нажмем правой кнопкой на график и выберем "Сохранить как рисунок..." и выберем папку, в которую будут сохраняться рисунку в дальнейшем.
После этого пишем макрос (нашел на просторах сети):
Скрытый текст |
|---|
| Код |
|---|
Sub Макрос6()
'
' Макрос6 Макрос
'
'
Range("A1").Select
ActiveSheet.ChartObjects("Диаграмма 1").Activate
If VarType(Selection) <> vbObject Then
MsgBox "?????????? ??????? ?? ???????? ????????!", vbCritical, ""
Exit Sub
End If
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set oObj = Selection: oObj.Copy
Set wsTmpSh = ThisWorkbook.Sheets.Add
sName = "Пример_1"
With wsTmpSh.ChartObjects.Add(0, 0, oObj.Width, oObj.Height).Chart
.ChartArea.Border.LineStyle = 0
.Parent.Select
.Paste
.Export Filename:=sName & ".png", FilterName:="PNG"
.Parent.Delete
End With
wsTmpSh.Delete
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub |
|
Ключевыми моментами макроса являются выбор диаграммы " ActiveSheet.ChartObjects("Диаграмма 1").Activate" и название рисунка "sName = "Пример_1"".
После выполнения в папке по умолчанию появляется файл рисунка формата .png с названием "Пример_1".
Следующим шагом открываем документ Word куда необходимо вставить рисунок.
На панели "Вставка" выбираем "Вставить поле".
В открывшемся меню выбираем поле IncludePicture. Справа в свойствах поля прописываем путь к картинке. В моём случае это "C:\Users\Дмитрий\Downloads\123\Пример_1.png". И нажимаем ОК.
В результате в документе Word появится картинка, код которой "{INCLUDEPICTURE "C:\\Users\\Дмитрий\\Downloads\\123\\Пример_1.png" \* MERGEFORMAT}". Код можно посмотреть сочетанием клавиш Alt+F9.
Файлы примеры прикладываю.