Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1456to1460
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
Inhaltsverzeichnis

Zellen kopieren und in PowerPoint einfügen

Zellen kopieren und in PowerPoint einfügen
16.11.2015 21:56:49
Thomas
Hallo,
ich möchte gerne per Makro eine leere PowerPoint-Präsentation öffnen und Zellen aus einer Excel-Tabelle dort einfügen.
Dazu sollen die Zellen A1:E20 von Blatt10 (Worksheets(10) ) meiner Tabelle kopiert werden.
Ich dachte an etwas in der Art wie die folgenden Zeilen zum Öffnen von PowerPoint, weiss aber nicht, wie ich dort eine leere Präsentation öffne (d.h. keine Vorlage) und wie ich dort die kopierten Zellen aus dem Zwischenspeicher einfüge.
Das Kopieren sollte über

Worksheets(10).Range("A1:E20").Copy
gehen ?
Mein Code für den Rest (soweit ich gekommen bin):
Dim PPObject As Obect
Set oPPT = CreateObject("Application.PowerPoint")
oPPT.Visible = True
oPPT.Presentations.Open Filename:="presentation.ppt"
Kann mir jemand damit weiterhelfen ?
Vielen Dank im Voraus.
Gruß,
Thomas

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen kopieren und in PowerPoint einfügen
17.11.2015 09:05:53
Michael
Hallo Thomas!
Als Bsp:
Sub TabelleZuPowerPoint()
' Verweis auf Microsoft PowerPoint 14.0 Object Library
Dim Pp As PowerPoint.Application
Dim Praes As PowerPoint.Presentation
Dim Folie As PowerPoint.Slide
Dim ppTab As PowerPoint.Shape
Worksheets(10).Range("A1:E20").Copy
Set Pp = CreateObject("Powerpoint.Application")
Pp.Visible = True
Set Praes = Pp.Presentations.Add
Pp.ActiveWindow.ViewType = ppViewSlide
Set Folie = Praes.Slides.Add(1, ppLayoutTitleOnly)
Folie.Shapes.PasteSpecial DataType:=ppPasteEnhancedMetafile
Set ppTab = Folie.Shapes(Folie.Shapes.Count)
ppTab.Left = 234
ppTab.Top = 186
''PowerPoint-Präsentation speichern und schließen
'With Praes
'    .SaveAs '"C:\My Documents\MyPreso.ppt"
'    .Close
'End With
''PowerPoint beenden
'Pp.Quit
'Variablen rücksetzen
Set Folie = Nothing
Set Praes = Nothing
Set Pp = Nothing
End Sub
Hast Du es Dir so vorgestellt? Achtung: Du musst den Verweis auf die PowerPoint Object Library (bei mir 14.0, bei Dir vermutlich schon 15.0) setzen. Dazu im VB-Editor Extras -- Verweise -- Durcklicken und bei Microsoft PowerPoint XX.X Object Library ein Häkchen setzen.
LG
Michael

Anzeige
AW: Zellen kopieren und in PowerPoint einfügen
17.11.2015 10:44:30
Thomas
Hallo Michael,
vielen Dank dafür !
Warum genau ist der Verweis auf die Library hier notwendig ?
Müsste das von jedem User gesetzt werden oder nur von mir als Ersteller der Tabelle ?
Gruß,
Thomas

AW: Zellen kopieren und in PowerPoint einfügen
17.11.2015 11:03:41
Michael
Hallo Thomas!
Gerne!
Warum genau ist der Verweis auf die Library hier notwendig ?
Weil PowerPoint und Excel zwei unterschiedliche Anwendungen sind. Beide lassen sich zwar über VBA programmieren, aber innerhalb VBA sprechen die beiden durchaus unterschiedliche Sprachen. Damit Excel die VBA-Sprache von PowerPoint versteht und entsprechend Anweisungen geben kann, muss Excel sozusagen vorher ein entsprechendes Wörterbuch erhalten. Excel kennt bspw. kein Objekt namens [Slide] oder [Presentation] und kann also "aus sicher heraus" damit auch nichts anfangen (Methoden ausführen).
Müsste das von jedem User gesetzt werden oder nur von mir als Ersteller der Tabelle ?
Nein. Du erstellst das Makro, setzt dabei den Verweis und der wandert dann mit dieser Mappe mit. Ersteres wäre wohl keine Lösung ;-).
LG
Michael

Anzeige
AW: Ergänzung
17.11.2015 11:37:00
Michael
Hallo Thomas!
Zu meiner vorigen Erklärung noch ein Hinweis: Zu Verweisen gibt es natürlich noch ganz viel mehr zu erfahren. Stichwort ist hier "Early vs. Late Binding" (in diesem Fall, mit dem gesetzten Verweis, nutzen wir early binding). Falls Dich das weiter interessiert, gibt's unter http://peltiertech.com/Excel/EarlyLateBinding.html sehr gute Infos in Englisch.
LG
Michael

AW: Ergänzung
21.11.2015 10:28:30
Thomas
Hallo Michael,
vielen Dank für die super Erklärungen und bitte entschuldige die späte Rückmeldung - ich war die letzten Tage ziemlich viel unterwegs.
Das ist super so und mit den Erklärungen komme ich damit gut klar - nochmal vielen Dank für die tolle Hilfe !
VG und schönes WE,
Thomas
Anzeige

381 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige