Abdul,
After thinking about it...
I think you still need to open the presentation for this to work, but you
can set the visible properties to false to prevent the user from seeing what
is going on.
--
Mark Ivey
UoP e-mail:
(E-Mail Removed)
Personal e-mail:
(E-Mail Removed)
"Abdul" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> By modifying the code available in this group now i can have each chart
> sheet in seperate slides.
>
> Is there a way that I can have this without activating powerpoint? when
> i do this without activating I get only once slide..
>
> Thanks
>
>
> Sub Chart2PPT()
>
> Dim PPApp As PowerPoint.Application
> Dim PPPres As PowerPoint.Presentation
> Dim PPSlide As PowerPoint.Slide
> Dim PPShape As PowerPoint.Shape
> Dim Fname As Variant
> Dim CurTitle As Variant
> Dim SlideCount As Long
> Dim iCht As Chart
>
> Set PPApp = CreateObject("Powerpoint.Application")
> Set PPPres = PPApp.Presentations.Add
>
> Application.ScreenUpdating = False
> CurTitle = "XlChartToPPT"
>
> Fname = ThisWorkbook.Path & Application.PathSeparator & CurTitle &
> ".ppt"
>
> For Each iCht In ActiveWorkbook.Charts
>
> iCht.CopyPicture xlScreen, xlPicture, xlScreen
> SlideCount = PPPres.Slides.Count
>
> Set PPSlide = PPPres.Slides.Add(SlideCount + 1, ppLayoutBlank)
> PPApp.Visible = True
> AppActivate PPApp.Name
>
> With PPSlide
>
> .Shapes.Paste
> Set PPShape = .Shapes(.Shapes.Count)
> PPShape.Left = 0#
> PPShape.Top = 0#
> End With
> SlideCount = SlideCount + 1
> Next iCht
> With PPPres
> .SaveAs Fname
> .Close
> End With
>
> PPApp.Quit
>
> Set PPApp = Nothing
> Set PPPres = Nothing
>
> End Sub
>