将Excel图表复制到Word文档的末尾

问题描述

我正在尝试将文本和图表从Excel复制到Word。 问题在于该图表始终显示在Word文档的顶部。 如何在Word文档的末尾添加图表? 这是我的代码

Sub test()

Dim tbl As Excel.Range
Dim WordApp As Word.Application
Dim myDoc As Word.Document
Dim WordTable As Word.Table


Set WordApp = Getobject(class:="Word.Application")
WordApp.Visible = True
WordApp.Activate

'Create a New Document
Set myDoc = WordApp.Documents.Add

'copy Excel Text in cell A1 to A3
Worksheets("Rapportage").Select
Range("A1:A3").Select
Selection.copy

'Paste Excel Text into MS Word
myDoc.Paragraphs(1).Range.PasteExcelTable LinkedToExcel:=False,WordFormatting:=False,RTF:=False
     
'copy Excel Chart
Worksheets("Rapportage").Select
Range("A4").Select
Selection.copy

'Paste Chart into MS Word
myDoc.Paragraphs(1).Range.PasteExcelTable LinkedToExcel:=False,RTF:=False

End Sub

解决方法

替换

'Paste Excel Text into MS Word
myDoc.Paragraphs(1).Range.PasteExcelTable LinkedToExcel:=False,WordFormatting:=False,RTF:=False

使用

'Paste Excel Text into MS Word
'add a paragraph at the end of the document and paste into it
with myDoc.Content
    .InsertParagraphAfter
    .Paragraphs.Last.Range.PasteExcelTable LinkedToExcel:=False,RTF:=False
End With
,

之所以会这样,是因为在两个粘贴命令中,您都将粘贴到Paragraphs(1)中。 相反,您可以仅使用Selection进行粘贴,因此它将以您想要的顺序将一件事粘贴到另一件事(它将粘贴到光标所在的位置):

'Paste Excel Text into MS Word
     WordApp.Selection.PasteExcelTable LinkedToExcel:=False,RTF:=False

最后,

'Paste Chart into MS Word
     WordApp.Selection.PasteExcelTable LinkedToExcel:=False,RTF:=False