View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
Henk Henk is offline
external usenet poster
 
Posts: 80
Default Export chart to PowerPoint

I found some code here to export a chart from Excel to PowerPoint. What I
want it to do is to export the chart to a new slide at the end of the
presentation. now have to following code :

Public Sub ChartToPowerPoint()

Dim PPApp As PowerPoint.Application
Dim PPPres As PowerPoint.Presentation
Dim PPSlide As PowerPoint.Slide
Dim NewIndex As Integer

Set PPApp = GetObject(, "Powerpoint.Application")
Set PPPres = PPApp.ActivePresentation
PPApp.ActiveWindow.ViewType = ppViewNormal

NewIndex = PPPres.Slides.Count + 1
PPPres.Slides.Add(Index:=NewIndex, Layout:=ppLayoutBlank).Select

PPPres.Slides(NewIndex).Select
Set PPSlide = PPPres.Slides
_(PPApp.ActiveWindow.Selection.SlideRange.SlideInd ex)

ActiveSheet.ChartObjects("Graph01").Activate
ActiveChart.ChartArea.Select

ActiveChart.CopyPicture Appearance:=xlScreen, Size:=xlScreen,
Format:=xlBitmap

PPSlide.Shapes.Paste.Select

PPApp.ActiveWindow.Selection.ShapeRange.Height = 303.5
PPApp.ActiveWindow.Selection.ShapeRange.Align msoAlignCenters, True
PPApp.ActiveWindow.Selection.ShapeRange.Align msoAlignMiddles, True

Set PPSlide = Nothing
Set PPPres = Nothing
Set PPApp = Nothing

Exit Sub

End Sub


If there is no slide in the presentation, it works 1 time, 2 times, n times.

If there is 1 slide in the presentation it fails the first time (end macro)
and it works the second time and third time and n time.

If at some time I go to the PP presentation and select another slide
manually, and start the macro after that, it fails the first time, (end
macro) and it works the second time and third time and n time.

The error message that I get for "PPSlide.Shapes.Paste.Select" is :

Run-time error '-2147188160(80048240)':
Shape (unknown member) : Invalid request. To select a shape its view must be
active.

I can not find out why the shape (which is copied to the last slide of the
presentation, by the way) is not active at that moment. Neither can I find a
way to activate it.