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 つのチャートを次の順序で配置したいとします: 1 番目のチャートはドキュメント (段落ではなく) の左端に配置され、2 番目のチャートはドキュメントの左側に配置され、3 番目のチャートは 1 番目の下にあります。 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
ただし、このコードはチャートを挿入しません。理由を教えてください。