Coller un graphique à partir d'Excel à un espace réservé dans une mise en page spécifique. Powerpoint 2010

J'ai besoin de coller plusieurs graphiques à partir d'excel, de powerpoint.
J'ai trouvé quelques excellentes code VBA (principalement sur Jon Peltier du site).
Maintenant, mon modèle de powerpoint a un certain nombre de mises en page (par ex. avec 1 graphique occupant la plupart des diapositives ou 1 graphique et une zone de texte dans une diapositive, etc etc).

Ce que je veux, c'est le tableau de devenir une partie de la mise en page des diapositives, de sorte que si j'ai reformater le glisser - par exemple-je changer la mise en page comme dans l'exemple donné ci - dessus le graphique se déplacer en conséquence.
Actuellement, je suis en mesure de le coller à l'endroit où l'espace est, avec la bonne taille et tout et tout, mais il n'est pas DANS l'espace réservé, c'est SUR l'espace réservé (et, par conséquent, qu'il y reste si je change la mise en page).

Idéalement, je voudrais être en mesure de choisir la mise en page (à partir de 15) et sélectionnez l'espace réservé dans la mise en page sélectionnée (généralement, j'ai un titre, un pied de page, puis de 1 à 4 espaces réservés pour les graphiques, les images, le texte ou l'ensemble de la ci-dessus).

Je ne suis pas un programmeur VBA, j'ai juste utilisé un peu de logique et de saisir les codes qui est gentiment partagé sur le net. Je n'ai pas la moindre idée de comment identifier la bonne mise en page (ils ont des noms, mais est-ce que la variable?) ni le bon espace réservé à l'intérieur de la mise en page (ici je ne sais même pas comment les identifier).

Toute aide appréciée.
DF

Dans la suite, le code que j'ai copié ici et là (surtout Jon Peltier du site).

Sub ChartToPresentation()
' Set a VBE reference to Microsoft PowerPoint Object Library
Dim PPApp As PowerPoint.Application
Dim PPPres As PowerPoint.Presentation
Dim PPSlide As PowerPoint.Slide
Dim AddSlidesToEnd As Boolean
AddSlidesToEnd = True
' Make sure a chart is selected
If ActiveChart Is Nothing Then
MsgBox "Please select a chart and try again.", vbExclamation, _
"No Chart Selected"
Else
' Reference existing instance of PowerPoint
Set PPApp = GetObject(, "Powerpoint.Application")
' Reference active presentation
Set PPPres = PPApp.ActivePresentation
PPApp.ActiveWindow.ViewType = ppViewSlide
' Reference active slide
Set PPSlide = PPPres.Slides _
(PPApp.ActiveWindow.Selection.SlideRange.SlideIndex)
' Copy chart
ActiveChart.ChartArea.Copy
' Paste chart
PPSlide.Shapes.Paste.Select
' Position pasted chart
' This is the keypoint
' I want to replace this with the selection of appropriate layout 
' and placeholder in that layout
PPApp.ActiveWindow.Selection.ShapeRange.Left = 19.56
PPApp.ActiveWindow.Selection.ShapeRange.Top = 66.33
PPApp.ActiveWindow.Selection.ShapeRange.Width = 366.8
PPApp.ActiveWindow.Selection.ShapeRange.Height = 424.62
If PPApp.ActivePresentation.Slides.Count = 0 Then
' Other key point
' can I add a specific layout, for example one named Two Content Layout + takeout
Set PPSlide = PPApp.ActivePresentation.Slides.Add(1, ppLayoutBlank)
Else
If AddSlidesToEnd Then
'Appends slides to end of presentation and makes last slide active
PPApp.ActivePresentation.Slides.Add PPApp.ActivePresentation.Slides.Count + 1, ppLayoutBlank
PPApp.ActiveWindow.View.GotoSlide PPApp.ActivePresentation.Slides.Count
Set PPSlide = PPApp.ActivePresentation.Slides(PPApp.ActivePresentation.Slides.Count)
Else
'Sets current slide to active slide
Set PPSlide = PPApp.ActiveWindow.View.Slide
End If
End If
'Clean up
Set PPSlide = Nothing
Set PPPres = Nothing
Set PPApp = Nothing
End If
End Sub

OriginalL'auteur user1351484 | 2012-04-23