Cole um gráfico do Excel em um espaço reservado específico em um layout específico. Powepoint 2010

Eu preciso colar vários gráficos do excel para powerpoint. Eu encontrei um excelente código VBA (principalmente no site de Jon Peltier). Agora, meu modelo de powerpoint tem vários layouts (por exemplo, com um gráfico ocupando a maioria dos slides ou um gráfico e uma caixa de texto em um slide, etc etc).

O que eu quero é que o gráfico se torne parte do layout dos slides para que eu reformate o slide - por exemplo, Eu mudo o layout como no exemplo dado acima - o gráfico se moverá de acordo. Atualmente, posso colar no local onde está o espaço reservado, com o tamanho certo e tudo, mas não está no espaço reservado, está no espaço reservado (e, portanto, fica lá se eu alterar o layout).

Idealmente, eu gostaria de poder escolher o layout (a partir de 15) e escolher o espaço reservado no layout selecionado (normalmente eu tenho um título, um rodapé e, em seguida, de 1 a 4 espaços reservados para gráficos, imagens, texto ou todos os acima).

Eu não sou um programador de VBA, apenas uso um pouco de lógica e pegue códigos que são gentilmente compartilhados na rede. Eu não tenho idéia de como identificar o layout adequado (eles têm nomes, mas é a variável?), Nem o espaço reservado adequado dentro do layout (aqui eu nem sei como identificá-los).

Qualquer ajuda muito apreciada. DF

A seguir, o código que copiei aqui e ali (principalmente o site de Jon Peltier).

<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