Live-Forum - Die aktuellen Beiträge
Datum
Titel
18.04.2024 18:04:29
18.04.2024 16:33:24
Anzeige
Archiv - Navigation
1348to1352
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

Excel-Diagramm im Powerpoint kopieren

Excel-Diagramm im Powerpoint kopieren
11.02.2014 09:26:18
Schmecks
Hallo,
kann mir jemand mit folgendem Code helfen? Ich möchte ein Diagramm aus einem Tabellenblatt in Powerpoint übertragen:
Option Explicit
Sub Excel_Chart_an_PPT()
Dim ppApp As Object
Dim ppFile As Object
Dim ppPres As String
Set ppApp = CreateObject("Powerpoint.Application")
With ppApp
.Visible = True
.Presentations.Open Filename:="C:\Excel_Output.ppt"
.ActivePresentation.Slides(2).Select
Sheets("Tabelle1").ChartObjects.CopyPicture
With .ActiveWindow
.View.Paste
.Selection.ShapeRange.Left = 110
.Selection.ShapeRange.Top = 100
.Selection.ShapeRange.Width = 500
.Selection.ShapeRange.Height = 400
End With
End With
End Sub
1. Powerpoint wird geöffnet
2. die richtige Folie (2) wird ausgesucht, jedoch
3. das Einfügen scheitert
4. Visual Basic liefert den Laufzeitfehler '-2147188160 (80048240)!: View.Paste : Invalid request. Clipboard is empty or contains data which may not be pasted here.
5. drückt man aber STRG+V fügt er das Diagramm als Bild ein, folglich liegt es doch korrekt in der Zwischenablage, oder nicht?
Kann mir jemand sagen warum das so ist bzw. wo das Problem liegt?
Die Excel_Output.ppt enthält aktuell 10 Folien.
mfg
der Schmecks

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel-Diagramm im Powerpoint kopieren
11.02.2014 09:36:09
selli
hallo schmecks,
in der recherche gibt es 304 treffer bei der suche nach powerpoint.
darunter sind einige, die sich mit deiner thematik befassen.
nutze die möglichkeiten.
gruß
selli

AW: Excel-Diagramm im Powerpoint kopieren
11.02.2014 12:39:10
Schmecks
Hallo,
wenn du dir meine Beschreibung aufmerksam durchgelesen hast, wirst du bemerken, das ich nach einer Erklärung für meinen Fehler gesucht habe. Du kannst mit ruhigem Gewissen davon ausgehen, das ich vorher nicht nur die Suche hier sondern auch andere Foren bemüht habe.
Leider konnte ich mein Problem in der Forums-Suche nicht wirklich finden, deswegen mein Post hier.
Und die Summe Deiner Recerche-Ergebnisse sagt mir das ich wahrscheinlich nicht der Einzige bin der Probleme beim Export von Excel zu Powerpoint hat. Deine Antwort hat mich kein Stück näher an die Lösung gebracht.
mfg
der Schmecks

Anzeige
AW: Excel-Diagramm im Powerpoint kopieren
11.02.2014 14:09:19
selli
hallo schmecks,
nun, in der recherche sind genügend threads in denen user vor dem gleichen problem standen und denen geholfen wurde.
wenn man sich die mühe macht und sich in einen thread einliest, ist es durchaus im bereich des möglichen den dort vorhandenen code an seine bedürfnisse anzupassen und zu übernehmen inkl. fehlererkennung.
ist man jedoch nicht in der lage gelesenen text auch zu verstehen, dann ist eine detaillierte antwort an dieser stelle wohl verschwendete zeit.
ich finde schon, dass ein verweis auf eine bereits erteilte hilfe einen lösungsansatz darstellt.
gruß
selli

Anzeige
Diagramm nach PP...
11.02.2014 11:27:29
Case
Hallo, :-)
schau Dir mal folgendes Beispiel aus meinem Blog an:
So der Spur nach...
Das zeigt Dir das Prinzip. :-)
Servus
Case

AW: Diagramm nach PP...
11.02.2014 12:31:07
Schmecks
Hallo,
also keine Ahnung wie mir das helfen soll. Ich habe Deine bereitgestellte Excel-Datei probiert mit
Excel & Powerpoint 2003, es funktionier nicht! Fehlermeldung Error: 1004 Die CopyPicture-Methode des Chart-objektes konnte nicht ausgeführt werden.
Leider verstehe ich Deinen Code nicht mal zur Hälfte. Der von mir gepostete ist doch recht einfach gehalten und ich wollte nur verstehen warum es nicht geht. Meiner Meinung nach bringt es mir nichts in diesen riesigen Codegewirr mich zurecht finden zu wollen, ansonsten hätte ich mich auch als VBA-Profi ausgegeben.
mfg
der Schmecks

Anzeige
Einfach nach PP...
11.02.2014 13:06:08
Case
Hallo, :-)
der Code ist jetzt auch ganz einfach: :-)
Option Explicit
Sub Excel_Chart_an_PPT()
Dim objShape As Object
Dim objPPDoc As Object
Dim ppApp As Object
Dim ppFile As Object
Dim ppPres As Object
Set ppApp = CreateObject("Powerpoint.Application")
With ppApp
.Visible = True
Set ppPres = .Presentations.Open(Filename:="C:\Temp\pp1.ppt")
Set objPPDoc = ppPres.Slides(2)
Sheets("Tabelle1").ChartObjects.CopyPicture
Set objShape = objPPDoc.Shapes.Paste
With objShape
.Left = 110
.Top = 100
.Width = 500
.Height = 400
End With
End With
Set objShape = Nothing
Set objPPDoc = Nothing
Set ppPres = Nothing
Set ppApp = Nothing
End Sub
Servus
Case

Anzeige
AW: Einfach nach PP...
11.02.2014 13:38:39
Schmecks
Danke für Deine Hilfe, so funktioniert der Code super ...
Zwei weitere Fragen hätte ich dann aber noch:
1.) Gemäß dem Fall das alle Folien bis auf eine in der Powerpoint gelöscht wären, könnte ich das über eine Schleife abfangen und eine Messagebox ausgeben "Bitte erst weitere PPT-Foilen hinzufügen" bzw. die entsprechenden Folien durch Kopieren erzeugen? Zur Erklärung ich wende das Beispiel auf mehrere Diagramme an, die auf den Folien 2,3,... eingefügt werden. Aktuell gibt das natürlich noch eine Fehlermeldung.
2.) Kann ich die Powerpoint auch nach dem Öffnen und dem Einfügen auch in einem anderen Ordner automatisiert speichern lassen? Der Inhlt der Diagramme ändert sich täglich. Evtl. mit dem aktuellen Datum in Dateinamen, als Backup? z.B.: Excel_Output_140211.ppt
mfg
der Schmecks

Anzeige
Mit Slide.Add und SaveAs...
11.02.2014 14:03:31
Case
Hallo, :-)
also hier würde er schauen, ob ein drittes Slide vorhanden ist - sonst erstellen und am Ende speichern.
Option Explicit
Const ppLayoutTitle = 1
Sub Excel_Chart_an_PPT()
Dim objShape As Object
Dim objPPDoc As Object
Dim ppApp As Object
Dim ppFile As Object
Dim ppPres As Object
Set ppApp = CreateObject("Powerpoint.Application")
With ppApp
.Visible = True
Set ppPres = .Presentations.Open(Filename:="C:\Temp\pp1.ppt")
If ppPres.Slides.Count 
Das kannst Du natürlich auch in einer Schleife laufen lassen - je nach Anzahl der Diagramme.
Servus
Case

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige