用于将图表插入到ppt幻灯片中的VBA

下面是我用来从excel电子表格中将图表拖入一个ppt的过程。 但是我不明白的一点是如何将图片插入“对象”而不是将其粘贴到屏幕上。 (即如果我做了一个ppLayoutFourObjects,并发送四张图表到这张幻灯片,添加另一个之前,我需要知道如何将图表粘贴到每个指定的矩形显示从4对象select)。 我知道,第一个似乎总是矩形五,我不能得到正确的代码。 请帮忙。 这是所有2003 Office。

sub xls2ppt() 'I use this to pull charts into ppt from excel Dim xlApp As Object Dim xlWrkBook As Object Dim lCurrSlide As Long Set xlApp = CreateObject("Excel.Application") ' Open the Excel workbook Set xlWrkBook = xlApp.Workbooks.Open("X:\Users\Admin\Desktop\Budget Overview.xls") ' Copy picture of the 1st chart object onto the clipboard xlWrkBook.Worksheets(2).ChartObjects(1).CopyPicture ' Get the slide number lCurrSlide = ActiveWindow.Selection.SlideRange.SlideNumber ' Paste the picture onto the PowerPoint slide. ActivePresentation.Slides(lCurrSlide).Shapes.Paste ' Close the open workbook without saving changes xlWrkBook.Close (False) xlApp.Quit Set xlApp = Nothing Set xlWrkBook = Nothing End Sub 

谢谢你的帮助。 PowerPoint的VBA是我最弱的,但我真的需要捡起它的工作! 多谢你们!

AFAIK不能在PowerPoint中将图表粘贴到“对象”中,即使通过UI也是如此。 在Word中,您可以粘贴到文本框或表格单元格中,但不能在PowerPoint中。

你需要做的是将4个粘贴的图表定位,以便它们的尺寸和位置正确 – 这很容易做到。

 Set oSlide = ActivePresentation.Slides(lCurrSlide) Set oShape = oSlide.Shapes.Paste oShape.Top = 10 oShape.Left = 10 oShape.Width = 100 oShape.Height = 100