shaggy84
Goto Top

mit VBA Code Excel Inhalt in neue PowerPoint Datei als Bild kopieren

Hallo Forum User,

ich möchte ganz gerne aus Excel ein bestimmtes Tabellenblatt als Bild nach Powerpoint kopieren.

Ich habe auch im Forum schon folgenden VBA Code gefunden, nur muss hier schon eine PP Datei dafür existieren.

Daher meine Frage:
- mit welchem Befehl öffnet man eine neue noch nicht vorhandene PP Datei und exportiert die Daten dort hinein?

Sub ppexportopen()

Dim App As Object
Dim Slide As Object

Set App = CreateObject("PowerPoint.Application")  
Sheets("Template Open").Range("A1:H30").CopyPicture  
App.Visible = True
App.Presentations.Open "c:\Beispiel.ppt"  
Set Slide = App.ActivePresentation.Slides(1)
Slide.Shapes.Paste

End Sub

Grüße, Gregor

Content-Key: 82400

Url: https://administrator.de/contentid/82400

Ausgedruckt am: 29.03.2024 um 09:03 Uhr

Mitglied: wakko
wakko 05.03.2008 um 16:10:53 Uhr
Goto Top
Moin,

mit
App.Presentations.Add
erstellst du eine neue Präsentation.
Mit
 App.ActivePresenatation.slides.add 1, ppLayoutText 
fügst du eine erste Folie hinein.
Mit
App.ActivePresentation.saveAs "c:/ordner/dateiname.ppt"  
speicherts du die Präsentation.

Tipp:
Zieh dir die Objektbibliothek msppt.olb (befindet sich im Office-Programmverzeichnis) als Verweis (unter Extras->Verweis..) in dein Projekt, dann kannst du mit
Dim app as new Powerpoint.Application
arbeiten und hast die Autovervollständigung.

MfG,
Henrik
Mitglied: Shaggy84
Shaggy84 06.03.2008 um 09:07:07 Uhr
Goto Top
Hallo Henrik,

danke für die schnelle Lösung, funktioniert einwandfrei mit folgendem Code:

Sub ppexportopen()

'Dim app As New PowerPoint.Application  
'für Autovervollständigung  
Dim app As Object
Dim Slide As Object

Set app = CreateObject("PowerPoint.Application")  
app.Visible = True
app.Presentations.Add
app.ActivePresentation.Slides.Add 1, ppLayoutBlank
'erstelle neue PP Presentation und füge ein leeres Blatt ein  
Sheets("Template Open").Range("A1:H30").CopyPicture  
'makiere einen bestimmten Bereich als Bild  
Set Slide = app.ActivePresentation.Slides(1)
Slide.Shapes.Paste
'füge den makierten Bereich in der neuen PP Presentation ein  

End Sub

Ein Frage habe ich aber noch. Wenn ich den Code mit "Dim app As New PowerPoint.Application" benutze, funktioniert er dann auch noch auf einem Computer ohne die Objektbibliothek im Verweis?

Geht aber so ja auch schon 1A. Also vielen Dank nochmal!

Grüße, Gregor