如何使用VBA将Excel图表复制并粘贴到Word?

时间:2019-06-20 13:58:29

标签: excel vba ms-word

我希望使用VBA将Excel图表复制到Word中。

我使用书签定位第一个图表,效果很好。我希望将下一个图表放在第一个图表的旁边(即在页面中间),但我找不到如何做的方法。

我已经在页面中间设置了一个书签,但是VBA只是将图表粘贴到了左边距。 Word宏记录器无法为此操作生成可用的代码。

我没有在Word中使用VBA的经验。有人可以帮忙吗?

我尝试了多种选择,下面的选项适用于第一个图表

'The first chart copies OK to Bookmark "Change"

ws.ChartObjects(1).Copy
doc.Bookmarks("Change").Range.PasteSpecial _
    Link:=False, _
    DataType:=wdPasteEnhancedMetafile, _
    Placement:=wdFloatOverText, _
    DisplayAsIcon:=False

书签DemandChange位于页面中间,第二个图表粘贴在第一个图表的顶部(即左边缘)。

ws.ChartObjects(2).Copy
doc.Bookmarks("DemandChange").Select
wd.Selection.PasteSpecial _
    Link:=False, _
    DataType:=wdPasteEnhancedMetafile, _
    Placement:=wdFloatOverText, _
    DisplayAsIcon:=False

1 个答案:

答案 0 :(得分:1)

您遇到的问题与Placement属性有关。您已将其设置为wdFloatOverText,这意味着它将被锚固到书签,但不会位于书签旁边。要并排放置两个图表,您需要使图表内嵌。

doc.Bookmarks("Change").Range.PasteSpecial _
    Link:=False, _
    DataType:=wdPasteEnhancedMetafile, _
    Placement:=wdInline, _
    DisplayAsIcon:=False