0
我使用Windows XP SP 3.我已經寫代碼從Excel 2003中多個圖表粘貼到Word 2003在Word中粘貼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中的圖表在不同的地方創建成word文件? E.x.我想按以下順序放置4個圖表:第一個圖表被分配到文檔的左端(不是段落),第二個圖表被分配到文檔的左側,3d位於第一個下面,同樣用於4。
謝謝你的回答!
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。然後仔細檢查模板是否還包含書籤 - 在修改模板時很容易使其消失。 –