VBA-将图表从Excel粘贴到PowerPoint时保留源格式
我想使用VBA将Excel工作簿中的一些图表复制粘贴到PowerPoint幻灯片中。这部分很简单,但我也希望保留源代码格式(=Excel格式) 1) 我首先使用了这种基本代码:VBA-将图表从Excel粘贴到PowerPoint时保留源格式,excel,vba,charts,formatting,powerpoint,Excel,Vba,Charts,Formatting,Powerpoint,我想使用VBA将Excel工作簿中的一些图表复制粘贴到PowerPoint幻灯片中。这部分很简单,但我也希望保留源代码格式(=Excel格式) 1) 我首先使用了这种基本代码: Worksheets("DailyActivityGeneral").ChartObjects("Chart 3").Copy Set chartGen3 = prsntPP.Slides(16).Shapes.Paste 它工作得很好,只是格式没有保留 2) 然后我尝试使用另一种方法: Worksheets("Dai
Worksheets("DailyActivityGeneral").ChartObjects("Chart 3").Copy
Set chartGen3 = prsntPP.Slides(16).Shapes.Paste
它工作得很好,只是格式没有保留
2) 然后我尝试使用另一种方法:
Worksheets("DailyActivityGeneral").ChartObjects("Chart 3").Copy
prsntPP.Slides(16).Select
prsntPP.Application.CommandBars.ExecuteMso ("PasteExcelChartSourceFormatting")
prsntPP.Application.CommandBars.ReleaseFocus
这保留了源代码格式,这很好,但我似乎无法编写:
set chartGen3 = prsntPP.Application.CommandBars.ExecuteMso ("PasteExcelChartSourceFormatting")
(我收到一条错误消息)
问题是,我不知道如何操作粘贴的图表(使用第一种方法中的“chartGen3”也可以)。你知道如何处理粘贴的图表吗?这可能会解决我的问题
3) 我注意到,当我在代码开头使用第二种方法时,(几乎)所有复制粘贴操作现在都保留源代码格式,即使它们是用第一种语法编写的。因此,我找到的最好的解决方案,既能处理粘贴的图表,又能保持其源格式,是首先使用第二种方法,删除幻灯片,因为图表无法操作,然后对所有其他幻灯片使用第一种方法
但我还有最后一个问题:它会保持源代码格式如预期的那样,但由于未知的原因,有时不会(随机行为!)
将图表从Excel复制到PowerPoint时,如何继续保持源格式
谢谢 这不是一个完美的解决方案,我不认为它很干净,但至少它是有效的: 为了保持我所有图表的源代码格式,我必须定期使用上面文章中提到的第二种方法,而不是像第一次那样在代码开头使用一次。 它的影响似乎只在有限的时间内有效(不知道为什么)——这解释了我所描述的“随机行为” 我本想找到一个更好的方法,但到目前为止,这就是我所有的