Wklej wykres z programu Excel do określonego symbolu zastępczego w określonym układzie. Powepoint 2010

Muszę wkleić wiele wykresów z Excela do Powerpoint. Znalazłem doskonały kod VBA (głównie na stronie Jona Peltiera). Teraz mój szablon Powerpoint ma wiele układów (np. 1 wykres zajmuje większość slajdów lub 1 wykres i jedno pole tekstowe na slajdzie itp.).

Chcę, aby wykres stał się częścią układu slajdu, aby po sformatowaniu slajdu - np. Zmieniam układ, jak w powyższym przykładzie - wykres przesunie się odpowiednio. Obecnie jestem w stanie wkleić w miejscu, w którym znajduje się symbol zastępczy, z odpowiednim rozmiarem i wszystkim, ale nie jest to IN w symbolu zastępczym, jest w symbolu zastępczym (i dlatego pozostaje tam, jeśli zmieniam układ).

Idealnie chciałbym móc wybrać układ (od 15) i wybrać symbol zastępczy w wybranym układzie (zazwyczaj mam tytuł, stopkę, a następnie od 1 do 4 symboli zastępczych dla wykresów, obrazów, tekstu lub wszystkich elementów powyżej).

Nie jestem programistą VBA, używam tylko trochę logiki i kodów chwytania, które są dzielone w sieci. Nie mam pojęcia, jak zidentyfikować właściwy układ (mają nazwy, ale czy jest to zmienna?) Ani właściwy symbol zastępczy w układzie (tutaj nawet nie wiem, jak je zidentyfikować).

Każda pomoc bardzo doceniana. DF

Poniżej kod, który skopiowałem tu i tam (głównie strona Jona Peltiera).

<code>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
</code>

questionAnswers(1)

yourAnswerToTheQuestion