VBA для вставки диаграммы в слайд PPT - PullRequest
1 голос
/ 20 июня 2009

Ниже приведена процедура, которую я использую для извлечения диаграмм в ppt из таблиц Excel. Однако я не могу понять, как вставить изображение в «объект», а не просто вставить его на экран. (т. е. если я сделал ppLayoutFourObjects и отправил на этот слайд диаграммы четверок, перед тем как добавить еще один, мне нужно знать, как вставить диаграмму в каждый обозначенный прямоугольник, выбранный из выбора 4 объекта). Я знаю, что первый, кажется, всегда прямоугольник пять, я не могу понять код правильно. Пожалуйста помоги. Это весь офис 2003 года.

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

Спасибо за любую помощь. VBA для PowerPoint - мой самый слабый, но мне действительно нужно взять его на работу! Спасибо, ребята!

1 Ответ

2 голосов
/ 21 июня 2009

AFAIK, вы не можете вставить диаграмму "в объект" в PowerPoint, даже через пользовательский интерфейс. В 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
...