将图表从Excel复制到Word

时间:2016-03-01 19:12:00

标签: excel vba excel-vba

我正在尝试将图表复制到Word中。我查了一个method,说要做这样的事情:

Dim wordApp As Object
Dim wordDoc As Object
Set wordApp = CreateObject("Word.Application")
wordApp.Visible = True

Set wordDoc = wordApp.Documents.Add

With ThisWorkbook
    .Sheets("Sheet1").ChartObjects(1).Activate
    .ActiveChart.ChartArea.Copy
End With
With Selection
    .PasteSpecial Link:=False, DataType:=wdInLine, _
    Placement:=wdInLine
End With
wordApp.Documents.Close
wordApp.Application.Quit

我尝试将With selection部分更改为仅wordApp.Documents.Selection.Pastespecial,这会导致一些奇怪的事情发生,并最终以某种方式粘贴工作簿中第一张工作表的屏幕截图,然后崩溃Excel。任何建议表示赞赏。

1 个答案:

答案 0 :(得分:1)

您的代码的这一部分存在问题:

With Selection
    .PasteSpecial Link:=False, DataType:=wdInLine, _
    Placement:=wdInLine
End With

您可以通过以下方式解决问题:

With wordDoc.Application.Selection
    .PasteSpecial Link:=False, DataType:=wdInLine, _
    Placement:=wdInLine
End With

说明:从excel宏运行代码,Selection对象将解析为Excel工作表中的当前选择,您需要指定选择的范围以将命令应用于您的单词文档而不是您当前的Excel工作簿。