以下是我用来将图表从excel电子表格中拉入ppt的过程。然而,我无法弄清楚的一件事是如何将图片插入“对象”而不是仅将其粘贴到屏幕上。 (即如果我执行了ppLayoutFourObjects,并将fours图表发送到此幻灯片,则在添加另一个之前,我需要知道如何将图表粘贴到4个对象选择中显示的每个指定矩形中)。我知道第一个似乎总是矩形五,我无法得到正确的代码。请帮忙。 这就是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是我最弱的,但我真的需要把它拿起来工作!谢谢你们!
答案 0 :(得分:2)
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