我想使用VBA的“选择性粘贴”命令中提供的其他选项将Excel图表粘贴到PowerPoint幻灯片中。但是,我没有任何选择可以通过将图表中的嵌入数据粘贴到图表中'
我使用了ppPasteOLEObject
,但是它嵌入了整个excel工作簿,因此PowerPoint文件的大小会增加。
我正在使用的代码:-
Sub excltoppt()
Dim ppalApp As PowerPoint.Application
Dim ppalPres As PowerPoint.Presentation
Dim ppalSlide As PowerPoint.Slide
Set ppalApp = New PowerPoint.Application
ppalApp.Visible = True
ppalApp.Activate
Set ppalPres = ppalApp.Presentations.Open("C:\Desktop\Template.pptx")
Set ppalSlide = ppalPres.Slides(6)
'here it select data from specific excel sheet #6
Sheets("S06").Select
Worksheets(1).ChartObjects(1).Copy
'here it paste at the selected specific slide #6
ppalSlide.Shapes.PasteSpecial DataType:=ppPasteText
'ole object option that I have tried is:-
'ppSlide.Shapes.PasteSpecial ppPasteOLEObject
End Sub
我也尝试使用此其他选项,但它也不起作用:-
PowerPointApp.CommandBars.ExecuteMso ("PasteExcelChartDestinationTheme")
请注意,我在系统中使用Excel 2016。 请在这方面帮助我。
关于, 阿罗克
答案 0 :(得分:0)
以下内容对我有用,它将图表粘贴到您的幻灯片中,只是不确定如何使它具有嵌入式数据:
Sub excltoppt()
Dim ppalApp As PowerPoint.Application
Dim ppalPres As PowerPoint.Presentation
Dim ppalSlide As PowerPoint.Slide
Set ppalApp = New PowerPoint.Application
ppalApp.Visible = True
Set ppalPres = ppalApp.Presentations.Open("C:\Desktop\Template.pptx")
Set ppalSlide = ppalPres.Slides(6)
Sheets("Sheet1").ChartObjects(1).Copy
ppalSlide.Shapes.Paste
End Sub
答案 1 :(得分:0)
尝试
Sheets("S06").Select
Worksheets("S06").ChartObjects(1).Select
ActiveChart.ChartArea.Copy
ppaslide.select
ppalApp.ActiveWindow.View.Paste
For x = 1 To ppalSlide.Shapes.Count
If ppalSlide.Shapes(x).HasChart Then
ppalSlide.Shapes(x).LinkFormat.BreakLink
End If
Next