【发布时间】:2013-07-24 16:56:37
【问题描述】:
我使用的是 Windows XP SP 3。我已经编写了将多个图表从 Excel 2003 粘贴到 Word 2003 的代码。
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 中的图表放入创建的 word 文件中的不同位置?前任。我想按以下顺序放置 4 个图表:第一个图表对齐到文档的左端(不是段落),第二个图表对齐到文档的左侧,3d 位于第一个下方,对于第四。
感谢您的回答!
UPD:基于有用的 cmets,我为我的问题概述了以下解决方案。创建模板文件并在其中插入一个名为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
但是,此代码不会插入图表。你能告诉我为什么吗?
【问题讨论】:
标签: vba ms-word excel-2003