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

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

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

【问题讨论】:

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

标签: vba excel powerpoint


【解决方案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
猜你喜欢
  • 2015-10-14
  • 2015-03-10
  • 2016-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-06
  • 2020-12-21
相关资源
最近更新 更多