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

Posted

技术标签:

【中文标题】如何将图表从 Excel 复制到 PowerPoint?【英文标题】:How to copy a chart from Excel to PowerPoint? 【发布时间】:2013-10-11 17:18:47 【问题描述】:

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

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

【问题讨论】:

这不是重复的!。问题***.com/questions/7492519/… 不涉及数据嵌入 现在解决您的问题。 embed data programmatically是什么意思 当用户右键单击 .ppt 幻灯片中的图表,然后选择“编辑数据”时,应弹出包含相应数据集的 Excel 电子表格“Microsoft PowerPoint 中的图表 - Microsoft Excel”。 我之所以用编程方式说是因为,我可以从一开始就手动在 .ppt 幻灯片中构建图表,但这太乏味了 在 Excel 中构建图表更简单、更高效。然后复制粘贴到.ppt 【参考方案1】:

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

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

您可以这样做,而不是使用Shapes.PasteSpecial 方法:

PPTApp.CommandBars.ExecuteMso "PasteExcelChartSourceFormatting"

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

来自 cmets 的更新

ExecuteMso 方法的文档:

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

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

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

注意:如果你想在.ExecuteMso 之后对粘贴的图表做一些事情,你可能需要检查形状是否已经粘贴,因为.ExcecuteMso 是异步的(宏不知道当它完成时)。另一个问题告诉你如何wait for its completion。

【讨论】:

非常感谢。我真的很难解释我想要什么。终于找到答案了 没问题。这是一个棘手的问题,我认为它应该是PasteSpecial 方法的一个选项,但事实并非如此。 Application.CommandBars 不是很直观,所以很难弄清楚。 你好大卫,我一直在努力解决它,每当我使用 ExecuteMso 方法时,宏每次都会失败并出现不同的错误,但是 pastespecial 方法宏运行成功,但它不会给出源格式,我从 20 个 excel 表中粘贴总共 40 个形状。请帮忙。 备注:如果你想在 .ExecuteMso 之后对粘贴的图表做一些事情,你必须检查形状是否已经粘贴,因为 .ExcecuteMso 是 asynchronous (宏不'不知道什么时候完成)。另一个问题告诉你如何wait for its completion

以上是关于如何将图表从 Excel 复制到 PowerPoint?的主要内容,如果未能解决你的问题,请参考以下文章

如何把EXCEL中的图表复制成图像格式

将 Excel 图表复制并粘贴到 Word 中,无需链接或另存为 GIF

使用 VBA 将 Excel 图表粘贴到 Powerpoint 中

VBA中的Excel过滤和复制

Word文档如何自动更新Power BI数据和图表?

PPT中的图表如何随着源数据Excel里的数据调整而变化