我正在尝试将一张纸中的一系列图表复制到 Word 中的一个文档中,但由于某种原因,我只得到最新的粘贴(意味着纸上的最后一个图表)。我知道迭代会遍历所有图表,因为当我修改代码为每个图表打印一个单词文档时,它会这样做,但我希望将图表放在一起,所以请帮助我
代码:
Sub ChartsToWord()
Dim WDApp As Word.Application
Dim WDDoc As Word.Document
Dim iCht As Integer
Dim Msg As String
Set WDApp = CreateObject("Word.Application")
Set WDDoc = WDApp.Documents.Add
For iCht = 1 To ActiveSheet.ChartObjects.Count
' copy chart as a picture
ActiveSheet.ChartObjects(iCht).Chart.CopyPicture _
Appearance:=xlScreen, Size:=xlScreen, Format:=xlPicture
WDDoc.Content.PasteSpecial Link:=False, DataType:=wdPasteMetafilePicture, _
Placement:=wdInLine, DisplayAsIcon:=False
WDDoc.Content.InsertParagraphAfter
Next
WDDoc.SaveAs ("C:\Users\confidential\Documents\charts.doc")
WDDoc.Close ' close the document
' Clean up
Set WDDoc = Nothing
Set WDApp = Nothing
End Sub
最佳答案
请将 PasteSpecial
行的开头替换为:
WDApp.Selection.Range.PasteSpecial ... 'and so on
在您的情况下,您将图表粘贴到整个文档而不是当前段落中。
还有一个建议。您可以使用以下命令插入新段落:
WDApp.Selection.MoveEnd wdStory
WDApp.Selection.Move
关于excel - 将多个图表复制到word文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15636713/