将图表复制到powerpoint,同时保持源格式

我有一个包含饼图的Excel工作表,我想将它复制到PowerPoint幻灯片(幻灯片编号10)。

我也想保持源格式如果我在饼图中进行任何格式更改它也应该在幻灯片中修改

有没有任何vba编码? 遇到这个代码,但它似乎并没有为我工作。

'copy the chart from Excel xlSheet.ChartObjects(ChartName).Select xlSheet.ChartObjects(ChartName).Copy 'Select Slide Set mySlide = myPresentation.Slides(Charts(r).SlideName) mySlide.Select 'stall to make sure the slide is selected For k = 1 To 1000 DoEvents Next k 'paste on selected slide PPApp.CommandBars.ExecuteMso ("PasteSourceFormatting") PPApp.CommandBars.ReleaseFocus 'sit and wait for changes to be made For k = 1 To 5000 DoEvents Next k 

我通常使用这样的PasteSpecial方法:

 xlSheet.Charts(ChartName).ChartArea.Copy Set mySlide = myPresentation.Slides(Charts(r).SlideName) 'Use paste special method mySlide.Shapes.PasteSpecial DataType:=ppPasteEnhancedMetafile, Link:=msoTrue mySlide.Shapes.Title.TextFrame.TextRange.Text = "Chart Title" 'Free the Object variable Set mySlide = Nothing 

您也可以使用2010年以后的CommandBars方法,但它意味着在视图中有PowerPoint窗口并处于活动状态:

 With ActivePresentation .Windows(1).Activate .Windows(1).View.GotoSlide (1) .Application.CommandBars.ExecuteMso ("PasteSourceFormatting") ' From 2010 only .Application.CommandBars.ReleaseFocus End With