如何将图表从 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 图表复制并粘贴到 Word 中,无需链接或另存为 GIF