Es soll ein Makro erstellt /rausgesucht werden, dass ausgewählte objekte eines Excelblattes in Powerpoint einfügt.
Ich habe dafür im Internet ein Makro gefunden und etwas modifiziert.
2 Probleme gibt es aber noch:
Code:
Sub Excel_Chart_an_PPT1()
Dim ppApp As Object
Dim ppFile As Object
Dim ppPres As String
'Dateiname
ppPres = "C:\Dokumente und Einstellungen\xxx\Desktop\Demo.ppt"
'Object referenzieren
Set ppApp = CreateObject("Powerpoint.Application")
'Diagramm kopieren : Name bitte anpassen
Worksheets("Tabelle1").Range("A1:E6").Copy
'Object initialisieren
ppApp.Visible = msoTrue
'PPT öffnen
Set ppFile = ppApp.Presentations.Open(ppPres)
'Foliennummer angeben
ppApp.ActivePresentation.Slides(1).Select
'Bereich einfügen und OLE Verknüpfung herstellen = Link
With ppApp.ActiveWindow
.View.PasteSpecial DataType:=ppPasteOLEObject, link:=msoTrue
End With
'Eingefügtes Diagramm skalieren
With ppApp.ActiveWindow.Selection.ShapeRange
'Oberer Rand 1 cm unter Standardtitel
.Top = 150
'Linker Rand 1.5 cm von linkem Folienrand
.Left = 35
'Eingefügte Tabelle auf Links und rechts 1,5 cm Rand skalieren
.Width = 650
'Bei Bedarf Höhe noch einstellen
'Hier ist jedoch zu beachten, dass das Object skaliert wird !!!
'Die Breite verändert sich dann
'.Height = 300
End With
End Sub
---------------------------------------------------------------------
Sub Excel_Range_an_PPT()
Dim ppApp As Object
Dim ppFile As Object
Dim ppPres As String
Dim picObj As Object, picName As String
'Object referenzieren
Set ppApp = CreateObject("Powerpoint.Application")
'Bereich kopieren
Worksheets("Tabelle2").Range("A1:E6").Copy
'Object initialisieren
ppApp.Visible = True
'Eine neue Folie
'ppApp.ActivePresentation.Slides.Add(Index:=2, Layout:=ppLayoutBlank).Select
'Foliennummer angeben
ppApp.ActivePresentation.Slides(2).Select
'Bereich einfügen und OLE Verknüpfung herstellen = Link
With ppApp.ActiveWindow
.View.PasteSpecial DataType:=ppPasteDefault, link:=True
End With
'Eingefügte Tabelle skalieren
With ppApp.ActiveWindow.Selection.ShapeRange
'Oberer Rand 1 cm unter Standardtitel
.Top = 150
'Linker Rand 1.5 cm von linkem Folienrand
.Left = 35
'Eingefügte Tabelle auf Links und rechts 1,5 cm Rand skalieren
.Width = 650
'Bei Bedarf Höhe noch einstellen
'Hier ist jedoch zu beachten, dass das Object skaliert wird !!!
'Die Breite verändert sich dann
'.Height = 300
End With
End Sub
Das erste Makro öffnet eine Powerpointdatei und kopiert dort alles rein. Wunderbar doch leider möchte ich die Verknüpfung zur exceldatei weghaben. Mach ich da jedoch False rein, ist der Link weg, aber er kann auch die gewünschte Formatierung nicht vornehmen.
Das zweite Makro soll eine leere Folie bei Powerpoint einfügen (habe ich mit Makrorecorder von Powerpoint aufgenommen) und den Inhalt in der Folie einfügen. Das Problem, er kann keine neue Folie erstellen, obwohl der Code aufgezeichnet wurde.
Kann mir jemand helfen.... wäre sehr sehr dankbar.