Hallo Forums mitglieder,
aus einem Excel soll automatisiert eine PowerPoint mit vorgegebenen Template generiert werden.
Da die Anwender unterschiedliche Excel Versionen nutzen, kann die Reference nicht verwendet werden (late Binding).
Mein Makro erstellt aus einer im Excel hinterlegten PowerPoint Vorlage eine neue PowerPoint und soll die Daten aus Excel in bestimmte Shapes übertragen.
Mein Code:
'** Alles auf Public da dies Variablen über mehre Module aufrufbar sein sollen
Sub CreatePPT
Public Pfad As String
Public strFilename As String
Public rngRange As Range
Public ppApp As Object
Public ppPres As Object
'** Erstelle PowerPoint
If Err.Number <> 0 Then
Set ppApp = CreateObject("PowerPoint.Application")
PowerPoint.Application.WindowState = ppWindowStateMinimize
PowerPoint.Application.WindowState = ppWindowStateMinimize
End If
Worksheets("VERSION").Visible = xlSheetVisible
Worksheets("VERSION").Select
Worksheets("VERSION").OLEObjects("PPTTemplate").Verb Verb:=xlVerbAdd
Set ppPres = ActiveSheet.OLEObjects("PPTTemplate")
Set ppPres = GetObject(, "PowerPoint.Application")
Set rngRange1 = Worksheets("CUSTOMER INFO").Range("Company")
Set rngRange2 = Worksheets("CUSTOMER INFO").Range("SFDC_SR")
Pfad = Worksheets("CUSTOMER INFO").Range("File_Location")
strFilename = rngRange1.value & "_" & rngRange2.value
'** hier soll auf Slide 1 der PPT die Shapes mit den Informationen aus Excel gefüllt werden.
ppPres.Slides(1).Select
ppPres.Slides(1).Shapes("Title 1").TextFrame.TextRange.Characters.Text = Worksheets("CUSTOMER INFO").Range("Title").value
ppPres.Slides(1).Shapes("Subtitle 2").TextFrame.TextRange.Characters.Text = Worksheets("CUSTOMER INFO").Range("Company").value
ppPres.Slides(1).Shapes("Costumer_Adress").TextFrame.TextRange.Characters.Text = Worksheets("CUSTOMER INFO").Range("Costumer_Adress").value
End Sub
Allerdings bekomme ich folgende Fehlermeldung:
Run-Time error `438`: Object doesn´t support this property or method
und das Makro bleibt in der Zeile ppPres.Slides(1).Select stehen.
Wenn ich die Reference nutze, funktioniert das Script einwandfrei...
Hat einer eine Idee wo mein Fehler liegt?
Danke im Voraus.