Powerpoint Datei aus Excel herraus erstellen
#1
Guten Abend zusammen,

ist es möglich, via VBA in Excel eine Powerpointdatei zu erstellen, wo Folie1 ein Picture von Sheet1 ist, Folie2 ein Picture von Sheet2 usw.?
Top
#2
Hallo,

ich denke nicht, dass du mit Excel eine ppt-Datei erstellen kannst. Wäre das Gleiche, wenn man mit Word eine Excel-Datei erstellen wollte. Aber vllt. ist es das, was du willst: https://www.google.com/search?client=firefox-b-d&q=excel+tabellenblatt+in+powerpoint+einbetten
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#3
Hallo Günter,

Möglich ist das schon.

Also bisher hab ich gefunden wie aus VBA eine leere Powerpointdatei mit 3 Folien zu erstellen und automatisch abzuspeichern.

Und ich kann einen selektierten Bereich als Picture in eine neue Powerpointdatei kopieren.

Aber ich bekomme beides nicht so zusammen das eine Datei erstellt wird, die 3 folien mit sheet1-3 beschrieben uind dann gespeichert wird.

Hier beide Makros

Huch, warum wird der Code den hier in einzelne Zeilen zerlegt Oo

Code:
Sub ExcelToNewPowerPoint()
    Dim PPApp As PowerPoint.Application
    Dim PPPres As PowerPoint.Presentation
    Dim PPSlide As PowerPoint.Slide
   ' Create instance of PowerPoint
    Set PPApp = CreateObject("Powerpoint.Application")
    ' For automation to work, PowerPoint must be visible
    ' (alternatively, other extraordinary measures must be taken)
    PPApp.Visible = True
    ' Create a presentation
    Set PPPres = PPApp.Presentations.Add
    ' Some PowerPoint actions work best in normal slide view
    PPApp.ActiveWindow.ViewType = ppViewSlide
    ' Add first slide to presentation
    Set PPSlide = PPPres.Slides.Add(1, ppLayoutTitleOnly)
    Set PPSlide = PPPres.Slides.Add(1, ppLayoutTitleOnly)
    Set PPSlide = PPPres.Slides.Add(1, ppLayoutTitleOnly)
    ''---------------------
    '' Do Some Stuff Here
    ''---------------------
    ' Save and close presentation
    With PPPres
        .SaveAs "C:\MyPreso.ppt"
        .Close
    End With
    ' Quit PowerPoint
    PPApp.Quit
  ' Clean up
   Set PPSlide = Nothing
    Set PPPres = Nothing
    Set PPApp = Nothing
End Sub




Code:
Sub RangeToPresentation()
' Set a VBE reference to Microsoft Excel Object Library
   
    Dim XLApp As Excel.Application
    Dim PPSlide As Slide
   
    ' Reference existing instance of Excel
    Set XLApp = GetObject(, "Excel.Application")

    ' Make sure a range is selected
    If Not TypeName(XLApp.Selection) = "Range" Then
        MsgBox "Please select a worksheet range and try again.", _
            vbExclamation, "No Range Selected"
    Else
        ' Can only paste into slide view
        Application.ActiveWindow.ViewType = ppViewSlide
        ' Reference active slide
        Set PPSlide = ActivePresentation.Slides _
            (Application.ActiveWindow.Selection.SlideRange.SlideIndex)
       
        ' Copy the range as a piicture
        XLApp.Selection.CopyPicture Appearance:=xlScreen, _
            Format:=xlPicture
   
        ' Paste the range
        PPSlide.Shapes.Paste.Select
       
        ' Align the pasted range
        Application.ActiveWindow.Selection.ShapeRange.Align msoAlignCenters, True
        Application.ActiveWindow.Selection.ShapeRange.Align msoAlignMiddles, True
   
        ' Clean up
        Set PPSlide = Nothing
    End If
   
    Set XLApp = Nothing
End Sub
Top
#4
Hallo, 19

hier eine Beispieldatei bei der folgendes gemacht wird (damit siehst du das Prinzip): 21
[attachment=38295]
  • Power Point wird gestartet.
  • Je Diagramm aus Excel wird eine neue leere Folie erstellt.
  • Jedes Diagramm wird als Bild auf eine Folie kopiert,
  • Die Diagramme werden platziert und in der Größe angepasst.
  • Die Datei wird im gleichen Verzeichnis wie die Excekdatei gespeichert.
  • Abschließend wird die Power Point-Datei geschlossen.
Mach was draus. 21
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste