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

时间:2013-10-04 16:04:14

标签: excel vba excel-vba powerpoint

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

最大的问题是嵌入数据。据我所知,数据嵌入需要从功率点开始重新创建图表。 (PS:通过嵌入我并不意味着链接到外部excel文件。)

1 个答案:

答案 0 :(得分:8)

您需要做的是调用PasteSpecial“保留源格式和嵌入工作簿”。

enter image description here

假设您已经创建了图表,幻灯片,占位符等,并且您已经复制了图表并导航到目标幻灯片,并且您有一个像PPTApp这样的对象来表示{ {1}}对象。

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

Shapes.PasteSpecial

这不会创建指向Excel文档的链接,它会在PowerPoint演示文稿中嵌入文档的本地副本。我想我明白这是你的要求。

从评论中更新

PPTApp.CommandBars.ExecuteMso "PasteExcelChartSourceFormatting" 方法的文档:

http://msdn.microsoft.com/en-us/library/office/ff862419.aspx

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

http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=6627

注意:如果您想在idMSO之后对粘贴的图表执行某些操作,则可能需要检查形状是否已粘贴,因为.ExecuteMso是异步的(宏)不知道什么时候结束了。另一个问题向您展示如何wait for its completion