ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Export chart from Excel to PowerPoint (https://www.excelbanter.com/excel-programming/423926-export-chart-excel-powerpoint.html)

Henk

Export chart from Excel to PowerPoint
 
With code I found here I constructed the following :

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.SlideRa nge.SlideIndex)

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

What I want to do is export the chart to the active PowerPoint presentation
on a new slide at the end of the presentation.

If there are no slides in the presentation at start, the code works 1 time,
2 times, n times, if I do not select another slide in the presentation
manually between the first and the n-th time.

If there are one slide in the presentation at start, the code fails the
first time and runs okay time after time after ending the macro, uless I
select again another slide in my presentation manually.

I get a message for line : PPSlide.Shapes.Paste.Select

Run-time error '-2147188160 (80048240)':

Shape (unknown member) : Invalid request. To select a shape, its view must
be active.

I cannot find out why it is not active (the chart is copied to the last,
new, slide by the way) and I cannot find a way to make it active.

Hope you can help me out.

Henk








All times are GMT +1. The time now is 04:21 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com