Schau mal hier, den Code verwende ich bei mir:
Public Sub CopyChart(wSheet As String, cChart As String, iSlide As Integer, xVal As Double, yVal As Double, xDif As Double, yDif As Double, shpNo As Integer)
Dim objPP As PowerPoint.Application
Dim objPres As PowerPoint.Presentation
' Reference existing instance of PowerPoint
Set objPP = GetObject(, "Powerpoint.Application")
' Reference active presentation
Set objPres = objPP.ActivePresentation
'Chart kopieren
Worksheets(wSheet).Select
Worksheets(wSheet).Shapes(cChart).Chart.ChartArea.Select
Call Worksheets(wSheet).Shapes(cChart).Chart.ChartArea.Copy
'Chart einfügen
Set objShpRange = objPres.Slides(iSlide).Shapes.PasteSpecial(ppPastePNG)
Set objShpRange = objPres.Slides(iSlide).Shapes(shpNo)
With objShpRange
.Top = yVal
.Left = xVal
.Height = yDif
.Width = xDif
.Line.Visible = msoFalse
End With
End Sub
Das ganze ist ein Sub, das verschiedene Parameter übergeben bekommt. Ist ganz praktisch, ich muss nämlich noch viel mehr Diagramme kopieren. Schaffst du es, ihn dir selbst an dein Tool anzupassen oder brauchst du noch Hilfe?
Im Sub ist die Präsentation schon geöffnet, das müsstest du mit deiner dann vor den Sub-Aufrufen auch tun.
|