从excel中插入excel后,在powerpoint中调整图表(Excel VBA)

我有一些代码,需要在Excel中的图表,并将其粘贴到PowerPoint幻灯片。 但是,一旦它被粘贴到PowerPoint中,我不知道如何调整图表大小。 我研究过find哪个数字“形状”,我​​可以手动做到这一点,但我不知道如何自动执行此操作。 任何帮助将不胜感激,谢谢!

这是我的代码:

Sub AddChartToPPT(PPT As PowerPoint.Application, Slide As Integer, Chart As String, FromTop As Double, FromLeft As Double, Length As Double, Width As Double) Dim activeslide As PowerPoint.Slide PPT.ActiveWindow.View.GotoSlide Slide Set activeslide = PPT.ActivePresentation.Slides(Slide) ActiveSheet.ChartObjects(Chart).Activate ActiveChart.ChartArea.Copy activeslide.Shapes.PasteSpecial(DataType:=ppPasteMetafilePicture).Select PPT.ActiveWindow.Selection.ShapeRange.Left = FromLeft PPT.ActiveWindow.Selection.ShapeRange.Top = FromTop 'Need to add scaling code End Sub 

尝试这个:

 dim shp as Object set shp=activeslide.Shapes.PasteSpecial(DataType:=ppPasteMetafilePicture) shp.Left = FromLeft shp.Top = FromTop 

所以你的代码的其余部分:

 Sub AddChartToPPT(PPT As PowerPoint.Application, Slide As Integer, Chart As String, FromTop As Double, FromLeft As Double, Length As Double, Width As Double) Dim activeslide As PowerPoint.Slide, shp as Object PPT.ActiveWindow.View.GotoSlide Slide Set activeslide = PPT.ActivePresentation.Slides(Slide) ActiveSheet.ChartObjects(Chart).Activate ActiveChart.ChartArea.Copy set shp=activeslide.Shapes.PasteSpecial(DataType:=ppPasteMetafilePicture) shp.Left = FromLeft shp.Top = FromTop 'Need to add scaling code End Sub 

根据我的经验,在将图表对象粘贴到PowerPoint中之前,更容易调整图表对象的大小。 首先,Excel的对象模型更清晰。 其次,调整元文件大小可能会导致失真,同时调整图表大小并粘贴为不需要resize的元文件不会。