Я использовал этот код макроса VB в Excel, чтобы скопировать 29 диаграмм из одного листа Excel в документ Word.
Если у вас есть изображения, а не диаграммы, вам нужно изменить строки:
ActiveSheet.ChartObjects(i).Activate
ActiveChart.ChartArea.Copy
к чему-то, что выбирает и копирует тип данных у вас есть.
Sub copycharts()
Dim word As Object
Dim doc As Object
On Error Resume Next
Set word = GetObject(, "word.application") 'gives error 429 if Word is not open
If Err = 429 Then
Set word = CreateObject("word.application") 'creates a Word application
Err.Clear
End If
With word
.Visible = True
.Documents.Add
End With
Sheets("charts").Select
i = 29
Do While i > 0
ActiveSheet.ChartObjects(i).Activate
ActiveChart.ChartArea.Copy
With word.Selection
'Paste Chart
.Range.PasteSpecial Link:=False, DataType:=14, Placement:=wdInLine, _
DisplayAsIcon:=False
End With
i = i - 1
Loop
End Sub