Powerpoint Präsentation von Excel aus unter neuem Namen abspeichern

  • Sonstige

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von sano.

    Powerpoint Präsentation von Excel aus unter neuem Namen abspeichern

    Hallo!

    Ich habe eine kleine Frage und wäre um Unterstützung dankbar. Bin grad dabei ein Skript zu schreiben, welches sämtliche Diagramme in Excel als Bild in eine Powerpoint Datei kopiert. Wenn jeweils das Bild auf der Powerpointfolie eingefügt wurde, soll die Folie unter einem bestimmten Namen (neu) abgespeichert werden.
    Ich habe schon einige Foren durchforstet... Fast alles funktioniert (auch das öffnen der Präsentation)- nur beim abspeichern der jeweiligen Präsentationsfolie erscheint Laufzeitfehler '438' (in Excel 2007 und Excel 2010). Habt ihr einen tipp für mich? anbei kommt der Code fürs exportieren der shapes:

    Visual Basic-Quellcode

    1. Private Sub ChartObjectsNachPowerpoint2()
    2. iter = 1
    3. While iter <= Sheets.Count
    4. Sheets(iter).Select
    5. For Each chtObj In ActiveSheet.ChartObjects
    6. chtObj.CopyPicture xlScreen, xlBitmap
    7. Set pApp = CreateObject("PowerPoint.Application")
    8. pApp.Visible = True
    9. pApp.Presentations.Open Filename:="D:\Test (2).ppt"
    10. pApp.ActivePresentation.Slides(1).Shapes.Paste.Select
    11. With pApp.ActiveWindow.Selection.ShapeRange
    12. .Top = 130
    13. .Left = 70
    14. .Height = 330
    15. .ScaleWidth 0.9, msoFalse, msoScaleFromTopLeft
    16. End With
    17. With pApp
    18. .SaveAs "D:\Test2.ppt", ppSaveAsPresentation
    19. .Close
    20. End With
    21. Next
    22. iter = iter + 1
    23. Wend
    24. End Sub



    Edit by LaMa5:
    -->*moved* (Grundlagen => VBA)
    - CODE-Tag in VB-Tag geändert

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „LaMa5“ ()

    Vielen Dank für die schnelle Rückmeldung! Ich habe jetzt die SaveAs Methode auf die Presentation angewandt.

    Jetzt bekomme ich die Fehlermeldung "Laufzeitfehler: 91 Objektvariable oder With - Blockvariable nicht festgelegt". Ich bin leider kein VB Profi und freue mich über jeden Tipp, was ich noch konkret ändern muss.

    Vielen Dank schon einmal im Voraus!! Ich hab schon Stunden rumgetüftelt und Foren durchsucht, aber seh wohl den Wald vor lauter Bäumen nicht ;)

    Visual Basic-Quellcode

    1. Private Sub ChartObjectsNachPowerpoint2()
    2. Dim oPS As PowerPoint.Presentation
    3. iter = 1
    4. While iter <= Sheets.Count
    5. Sheets(iter).Select
    6. For Each chtObj In ActiveSheet.ChartObjects
    7. chtObj.CopyPicture xlScreen, xlBitmap
    8. Set pApp = CreateObject("PowerPoint.Application")
    9. pApp.Visible = True
    10. pApp.Presentations.Open Filename:="D:\Test2.ppt"
    11. pApp.ActivePresentation.Slides(1).Shapes.Paste.Select
    12. With pApp.ActiveWindow.Selection.ShapeRange
    13. .Top = 130
    14. .Left = 70
    15. .Height = 330
    16. .ScaleWidth 0.9, msoFalse, msoScaleFromTopLeft
    17. End With
    18. With oPS
    19. .SaveAs ("D:\Test3.ppt")
    20. .Close
    21. End With
    22. Next
    23. iter = iter + 1
    24. Wend
    25. End Sub




    Edit by LaMa5:
    - CODE-Tag in VB-Tag geändert, das nächste Mal bitte selbst dran denken

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „LaMa5“ ()