Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
860to864
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
860to864
860to864
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Daten von XLS nach PPT in neue Folie kopi

Daten von XLS nach PPT in neue Folie kopi
XLS
Hallo Community
Ich bin da auf ein Problem gestossen, das ich weder mit der Online-Hilfe, noch mit der Web-Recherche habe lösen können.
Ich möchte Daten, welche ich in einer XLS-Tabelle bespeichert habe, in eine PowerPoint-Präsentation überführen. Für jeden neuen Datensatz (eine Zeile in XLS) möchte ich in PowerPoint eine neue Folie eingefügt haben. Ein Datensatz besteht dabei aus mehreren Daten (in Spalten abgelegt), für die ich jeweils ein Textfeld auf der Folie erstellen will und dort mit dem in einer Variablen zwischengespeicherten Wert abfüllen möchte.
Nun habe ich durch einige Recherchen folgende Zeilen zusammengestellt:

Sub Slides_erstellen()
'Vorbereitete PPT-Datei öffnen
Set PPApp = CreateObject("Powerpoint.Application")
PPApp.Visible = True
PPApp.Presentations.Open Filename:="H:\Documente\KPI-Katalog.ppt"
'Werte aus XLS pro Datensatz abfüllen; hier mal für 4 Zeilen
For i = 2 To 5
KPI_ID = Range("A" & i)
KPI = Range("B" & i)
Beschreibung = Range("C" & i)
Dimension = Range("D" & i)
'Neue Folie hinzufügen, Format Blankovorlage
SlideCount = PPPres.Slides.Count
Set PPSlide = PPPres.Slides.Add(SlideCount + 1, ppLayoutBlank)
PPApp.ActiveWindow.View.GotoSlide PPSlide.SlideIndex
With PPSlide
'Textfelder hinzufügen und mit Inhalt aus Excel-Tabelle abfüllen
Set ppTextbox1 = PPPres.Shapes.AddTextbox(msoTextOrientationHorizontal, 10, 10, 300, 50)
ppTextbox1.TextFrame.TextRange.Text = KPI_ID
Set ppTextbox1 = PPPres.Shapes.AddTextbox(msoTextOrientationHorizontal, 10, 50, 300, 50)
ppTextbox1.TextFrame.TextRange.Text = KPI
Set ppTextbox1 = PPPres.Shapes.AddTextbox(msoTextOrientationHorizontal, 10, 100, 300, 50)
ppTextbox1.TextFrame.TextRange.Text = Beschreibung
Set ppTextbox1 = PPPres.Shapes.AddTextbox(msoTextOrientationHorizontal, 10, 150, 300, 50)
ppTextbox1.TextFrame.TextRange.Text = Dimension
End With
Next i
End Sub


Das Öffnen der Datei funktioniert einwandfrei. Die Folie 1 erscheint und dann passiert nichts mehr.
Wenn ich VBA-Editor aufrufe, ist das Macro bei "SlideCount = PPPres.Slides.Count" stehen geblieben mit einem Laufzeitfehler 424 "Objekt erfolrderlich".
Was mache ich nur falsch?
Besten Dank für Eure Inputs!
Gruss
Kurt

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Daten von XLS nach PPT in neue Folie kopi
16.04.2007 19:27:37
XLS
Hallo Kurt,
deine Präsentation heißt PPApp nicht PPPres............
Micha

AW: Daten von XLS nach PPT in neue Folie kopi
XLS
Hallo Micha
Wenn ich dich richtig verstanden habe, muss ich bei den ersten beiden Zeilen im Absatz "Neue Folie hinzufügen..." PPPres durch PPApp ersetzten, oder?
Dennoch bleibt das Markro an der gleichen Stelle hängen mit einer "Laufzeitfehler 438, Objekt unterstützt diese Eigenschaft nicht"-Fehlermeldung.
Hast Du noch eine andere gute Idee?
Gruss
Kurt

AW: Daten von XLS nach PPT in neue Folie kopi
19.04.2007 17:39:00
XLS
Hallo Kurt,

Sub Slides_erstellen()
'Vorbereitete PPT-Datei öffnen
Dim PPSlid As Slide
Dim my_press As Presentation
Set PPApp = CreateObject("Powerpoint.Application")
PPApp.Visible = True
Set my_press = PPApp.Presentations.Open(Filename:="H:\test.ppt") 'MIT DEINEM PFAD ERSETZEN
'Werte aus XLS pro Datensatz abfüllen; hier mal für 4 Zeilen
For i = 2 To 5
KPI_ID = Range("A" & i)
KPI = Range("B" & i)
Beschreibung = Range("C" & i)
Dimension = Range("D" & i)
'Neue Folie hinzufügen, Format Blankovorlage
SlideCount = my_press.Slides.Count
Set ppSlide = my_press.Slides.Add(2, ppLayoutBlank)
'Set PPSlide = my_press.Slides.Add(SlideCount, ppLayoutBlank)
'my_press.ActiveWindow.View.GotoSlide ppSlide.SlideIndex
With ppSlide
'Textfelder hinzufügen und mit Inhalt aus Excel-Tabelle abfüllen
Set ppTextbox1 = ppSlide.Shapes.AddTextbox(msoTextOrientationHorizontal, 10, 10, 300, 50)
ppTextbox1.TextFrame.TextRange.Text = KPI_ID
Set ppTextbox1 = ppSlide.Shapes.AddTextbox(msoTextOrientationHorizontal, 10, 50, 300, 50)
ppTextbox1.TextFrame.TextRange.Text = KPI
Set ppTextbox1 = ppSlide.Shapes.AddTextbox(msoTextOrientationHorizontal, 10, 100, 300, 50) _
ppTextbox1.TextFrame.TextRange.Text = Beschreibung
Set ppTextbox1 = ppSlide.Shapes.AddTextbox(msoTextOrientationHorizontal, 10, 150, 300, 50) _
ppTextbox1.TextFrame.TextRange.Text = Dimension
End With
Next i
End Sub


xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
so geht es
micha

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige