Hi Lisa,
I was working on this just the other day with some success.
The following code worked for me. You need to ensure that the
appropriate
references are ticked off in the visual basic editor. Tools -
references
The following worked fine in XP. Run the code from the active
worksheet with your graphs in it. I have not investigated pasting
these as links
prehaps someone else will modify the code to offer that level of
functionality.
Option Explicit
Sub GraphsToPowerpoint()
Dim PPApp As Powerpoint.Application
Dim PPPres As Powerpoint.Presentation
Dim PPSlide As Powerpoint.Slide
Dim SlideCount As Long
Dim x As Integer
Set PPApp = CreateObject("Powerpoint.Application.8")
Set PPPres = PPApp.Presentations.Add
Set PPSlide = PPPres.Slides.Add(Index:=1, Layout:=ppLayoutText)
For x = 1 To ActiveSheet.ChartObjects.count
ActiveSheet.ChartObjects(x).Chart.CopyPicture _
Appearance:=xlScreen, Size:=xlScreen, Format:=xlPicture
SlideCount = PPPres.Slides.count
Set PPSlide = PPPres.Slides.Add(SlideCount + 1, ppLayoutBlank)
PPApp.ActiveWindow.View.GotoSlide PPSlide.SlideIndex
With PPSlide
.Shapes.Paste.Select
PPApp.ActiveWindow.Selection.ShapeRange.Align msoAlignCenters,
True
PPApp.ActiveWindow.Selection.ShapeRange.Align msoAlignMiddles,
True
End With
Next
With PPPres
.SaveAs "C:\Temp\Name_of_presentation.ppt"
.Close
End With
PPApp.Quit
Set PPSlide = Nothing
Set PPPres = Nothing
Set PPApp = Nothing
HTH
Chris.
End Sub