excel - 将多个图表复制到word文档

标签 excel ms-word vba

我正在尝试将一张纸中的一系列图表复制到 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/

相关文章:

vba - 通过提供路径参数从 Shell 运行 Excel VBA/宏

delphi - 从 Delphi 到 Word 输入文本

c# - 有没有办法用 OpenXML 库了解 MS word 分页?

ms-word - 如何在Word中获取列表级别(使用Pandoc+Markdown)

excel - 如何使用 VBA 在桌面副本中选择一系列单元格?

excel - 从字母数字字符串中提取第一个数字

excel - 根据单个列计算行数,以及多列的总和

python - 使用 python pandas 编辑 excel 文件

excel - 在 Excel 中使用 Power Query 解析 JSON,其方式与 FetchJson 在 Google 表格中的处理方式相同

excel - 宏创建文件夹中不同文件中所有不同选项卡的列表