Я использую Windows XP SP 3. Я написал код, чтобы вставить несколько диаграмм из Excel 2003 в Word 2003.Вставить диаграмму Excel в слове, VBA
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("Data").Select
For i = 1 To 2
ActiveSheet.ChartObjects(i).Activate
ActiveChart.ChartArea.Copy
With word.Selection
'Paste Chart
.Range.PasteSpecial
End With
Next i
Я хотел бы понять, как я могу разместить диаграммы из Excel 2003 в созданный файл слов в разных местах? E.x. Я хотел бы разместить 4 диаграммы в следующем порядке: 1-й график привязан к левому краю документа (а не к абзацу), 2-й график привязан к левой стороне документа, третий лежит ниже 1-го, то же самое для четвёртый.
Благодарим за ответы!
UPD: основываясь на полезных комментариях, я изложил следующее решение для своей проблемы. Создайте файл шаблона и вставьте туда закладку с именем insertHere
. Изменения внесены с помощью Excel VBA в этот файл.
Вот код для этого
Sub macro()
Dim word 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
Set templateFile = word.documents.Add(Template:="C:\Users\PC\Desktop\Doc4.dot")
Sheets("Data").Select
ActiveSheet.ChartObjects(1).Activate
ActiveSheet.ChartObject(1).Select
ActiveChart.ChartArea.Copy
With templateFile.Bookmarks
.Item("insertHere").Range.Paste
End With
End Sub
Однако, этот код не вставить диаграмму. Можете ли вы дать мне подсказку, почему?
+1. Закладки - это способ сделать это. –
Не могли бы вы проверить мой обновленный код? –
Это должны быть ChartObjects (1), а не ChartObject. И дважды проверьте, что шаблон по-прежнему включает в себя закладку - легко его исчезнуть при изменении шаблона. –