H
Henk
I want to convert the following code from Early binding to Late binding.
Anyone any idea how to do that?
Public Sub ChartToPowerPoint()
Application.ScreenUpdating = False
Dim PPApp As PowerPoint.Application
Dim PPPres As PowerPoint.Presentation
Dim PPSlide As PowerPoint.Slide
Dim NewIndex As Integer
Dim ChartName As String
ChartName = ActiveSheet.Name
ActiveSheet.ChartObjects(ChartName).Activate
ActiveChart.ChartArea.Select
ActiveChart.CopyPicture Appearance:=xlScreen, Size:=xlScreen,
Format:=xlBitmap
On Error GoTo PPAppNotopen
Set PPApp = GetObject(, "Powerpoint.Application")
On Error GoTo PPPresNotopen
Set PPPres = PPApp.ActivePresentation
PPApp.ActiveWindow.ViewType = ppViewNormal
On Error GoTo 0
NewIndex = PPPres.Slides.Count + 1
PPPres.Slides.Add(Index:=NewIndex, Layout:=ppLayoutBlank).Select
Set PPSlide =
PPPres.Slides(PPApp.ActiveWindow.Selection.SlideRange.SlideNumber)
PPApp.ActiveWindow.ViewType = ppViewSlide
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
PPApp.ActiveWindow.ViewType = ppViewNormal
Set PPSlide = Nothing
Set PPPres = Nothing
Set PPApp = Nothing
a = MsgBox("Chart has been copied to your PowerPoint presentation.",
vbOKOnly, "Chart copied to PowerPoint")
Exit Sub
PPAppNotopen:
a = MsgBox("PowerPoint is not available at the moment." & Chr(10) & "Open
PowerPoint and the presentation where the chart should be copied to first and
then try again.", vbOKOnly, "PowerPoint not active")
Exit Sub
PPPresNotopen:
a = MsgBox("There is no PowerPoint presentation available at the moment." &
Chr(10) & "Open the PowerPoint presentation where the chart should be copied
to first and then try again.", vbOKOnly, "No PowerPoint presentation
available")
Exit Sub
End Sub
Hope you can help me out.
Henk
Anyone any idea how to do that?
Public Sub ChartToPowerPoint()
Application.ScreenUpdating = False
Dim PPApp As PowerPoint.Application
Dim PPPres As PowerPoint.Presentation
Dim PPSlide As PowerPoint.Slide
Dim NewIndex As Integer
Dim ChartName As String
ChartName = ActiveSheet.Name
ActiveSheet.ChartObjects(ChartName).Activate
ActiveChart.ChartArea.Select
ActiveChart.CopyPicture Appearance:=xlScreen, Size:=xlScreen,
Format:=xlBitmap
On Error GoTo PPAppNotopen
Set PPApp = GetObject(, "Powerpoint.Application")
On Error GoTo PPPresNotopen
Set PPPres = PPApp.ActivePresentation
PPApp.ActiveWindow.ViewType = ppViewNormal
On Error GoTo 0
NewIndex = PPPres.Slides.Count + 1
PPPres.Slides.Add(Index:=NewIndex, Layout:=ppLayoutBlank).Select
Set PPSlide =
PPPres.Slides(PPApp.ActiveWindow.Selection.SlideRange.SlideNumber)
PPApp.ActiveWindow.ViewType = ppViewSlide
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
PPApp.ActiveWindow.ViewType = ppViewNormal
Set PPSlide = Nothing
Set PPPres = Nothing
Set PPApp = Nothing
a = MsgBox("Chart has been copied to your PowerPoint presentation.",
vbOKOnly, "Chart copied to PowerPoint")
Exit Sub
PPAppNotopen:
a = MsgBox("PowerPoint is not available at the moment." & Chr(10) & "Open
PowerPoint and the presentation where the chart should be copied to first and
then try again.", vbOKOnly, "PowerPoint not active")
Exit Sub
PPPresNotopen:
a = MsgBox("There is no PowerPoint presentation available at the moment." &
Chr(10) & "Open the PowerPoint presentation where the chart should be copied
to first and then try again.", vbOKOnly, "No PowerPoint presentation
available")
Exit Sub
End Sub
Hope you can help me out.
Henk