Vba 如何将图表从Excel复制到PowerPoint?

Vba 如何将图表从Excel复制到PowerPoint?,vba,excel,powerpoint,Vba,Excel,Powerpoint,是否有任何方法可以将图表从excel电子表格复制到powerpoint,保留原始格式并嵌入数据?已经有一个 关于以编程方式复制粘贴图表。然而,关于数据嵌入,并没有什么可说的 最大的问题是嵌入数据。据我所知,数据嵌入需要在power point中从头开始重新创建图表。(注:嵌入并不是指链接到外部excel文件。)您需要做的是调用粘贴特殊的“保留源格式并嵌入工作簿” 假设您已经创建了图表、幻灯片、占位符等,并且已经复制了图表并导航到目标幻灯片,并且您有一个类似于PPTApp的对象来表示PowerP

是否有任何方法可以将图表从excel电子表格复制到powerpoint,保留原始格式并嵌入数据?已经有一个 关于以编程方式复制粘贴图表。然而,关于数据嵌入,并没有什么可说的


最大的问题是嵌入数据。据我所知,数据嵌入需要在power point中从头开始重新创建图表。(注:嵌入并不是指链接到外部excel文件。)

您需要做的是调用粘贴特殊的“保留源格式并嵌入工作簿”

假设您已经创建了图表、幻灯片、占位符等,并且已经复制了图表并导航到目标幻灯片,并且您有一个类似于
PPTApp
的对象来表示
PowerPoint.Application
对象

您可以执行以下操作,而不是使用
Shapes.PasteSpecial
方法:

PPTApp.CommandBars.ExecuteMso "PasteExcelChartSourceFormatting"
这不会创建指向Excel文档的链接,而是将文档的本地副本嵌入到PowerPoint演示文稿中。我想我明白这是你的要求

根据评论更新

有关
ExecuteMso
方法的文档:

包含每个Office应用程序的
idMSO
参数的可下载文档:


注意:如果要在
.ExecuteMso
之后对粘贴的图表执行操作,可能需要检查形状是否已粘贴,因为
.ExecuteMso
是异步的(宏不知道何时完成)。另一个问题向您展示了如何操作。

这不是重复的问题!。问题不包括数据嵌入。现在就解决您的问题。当用户右键单击.ppt幻灯片中的图表,然后选择“编辑数据”时,Excel电子表格“Microsoft PowerPoint中的图表-Microsoft Excel”应弹出包含相应数据集的“以编程方式嵌入数据”是什么意思,我可以从一开始就在.ppt幻灯片中手动构建图表,但这太繁琐了,在Excel中构建图表更容易、更高效。然后复制粘贴到。ppt非常感谢。我真的很难解释我想要什么。最后我得到了答案没问题。这是一个棘手的问题,我想它应该是
PasteSpecial
方法的一个选项,但事实并非如此
Application.CommandBars
不是很直观,所以更难理解。您好David,我一直在努力解决这个问题,每当我使用ExecuteMso方法时,宏都会失败,每次都会出现不同的错误,但是使用pastespecial方法宏会成功运行,但它不会给出sourcce格式,我从20张excel表格中粘贴总共40个形状。请提供帮助。备注:如果要在.ExecuteMso之后对粘贴的图表执行某些操作,则必须检查形状是否已粘贴,因为.ExecuteMso是异步的(宏不知道何时完成)。另一个问题向你展示了如何