Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1640to1644
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

Diagramm in PP kopieren

Diagramm in PP kopieren
23.08.2018 15:34:42
Mole
Hallo zusammen,
mit folgendem Code kopiere ich ein Diagramm ("RingAll") aus einem Excelsheet ("Figures") in eine PowerPoint ("EditP") auf Folie 2.

Sub EditPowerPoint()
Dim PPApp As PowerPoint.Application
' Create instance of PowerPoint
Set PPApp = CreateObject("Powerpoint.Application")
With PPApp
.Visible = True
.Presentations.Open Filename:= _
"C:\users\Mole\Desktop\EditP.pptx"
'Select slide
.ActivePresentation.Slides(2).Select
'From Sheet Figures copy of chart RingAll
Sheets("Figures").ChartObjects("RingAll").Copy
End With
'paste of chart RingAll and shape
With PPApp.ActiveWindow
.View.Paste
.Selection.ShapeRange.Left = 11.1423
.Selection.ShapeRange.Top = 125.708
End With
' Save and quit PowerPoint
PPApp.ActivePresentation.Save
PPApp.Quit
' Clean up
Set PPApp = Nothing
End Sub
Nun möchte ich, dass die eingefügte Chart nicht mehr mit der Excel verbunden ist, da ich in der Excel weiterarbeite und nicht möchte, dass die Powerpointchart aktualisiert wird. Ich würde gerne vermeiden, es zu einem Bild umzuwandeln.
Kann mir einer helfen? Vielleicht etwas mit SpecialPaste?
Vielen Dank und viele Grüße
Mole
Offtopic: Wie kann man auf seine älteren Beiträge antworten? Über "Deine Beiträge" finde ich diese zwar, finde aber keine Option zum Antworten.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Diagramm in PP kopieren
26.08.2018 13:14:02
fcs
Hallo Mole.
mit einer weiteren Anweisung kannst die Verknüpfung des Diagramms lösen.
Sub EditPowerPoint()
Dim PPApp As PowerPoint.Application
' Create instance of PowerPoint
Set PPApp = CreateObject("Powerpoint.Application")
With PPApp
.Visible = True
.Presentations.Open Filename:= _
"C:\users\Mole\Desktop\EditP.pptx"
'Select slide
.ActivePresentation.Slides(2).Select
'From Sheet Figures copy of chart RingAll
Sheets("Figures").ChartObjects("RingAll").Copy
End With
'paste of chart RingAll and shape
With PPApp.ActiveWindow
.View.Paste
.Selection.ShapeRange.Left = 11.1423
.Selection.ShapeRange.Top = 125.708
End With
'Verknüpfung des eingefügten Diagramms entfernen
PPApp.ActivePresentation.Slides(2).Shapes("RingAll").LinkFormat.BreakLink
' Save and quit PowerPoint
PPApp.ActivePresentation.Save
PPApp.Quit
' Clean up
Set PPApp = Nothing
End Sub
Offtopic: Wie kann man auf seine älteren Beiträge antworten? Über "Deine Beiträge" finde ich diese zwar, finde aber keine Option zum Antworten.

Beiträge werden nach einigen Tagen ins Archiv verschoben, dann sind direkte Antworten nicht mehr möglich.
Falls du einen archivierten Beitrag weiter führen möchtes, dann den Link des archivierten Beitrags kopieren und in deine neue Frage einfügen.
Gruß
Franz
Anzeige
AW: Diagramm in PP kopieren
27.08.2018 14:49:58
Mole
Hallo Franz,
vielen Dank! Jetzt habe ich den Code wie folgt geändert damit ich eine Folienvorlage benutzen kann. Ich duplizieren diese und füge das Diagramm dann auf dem Duplikat ein.
Leider erhalte ich dann folgenden Fehler:
Laufzeitfehler‘ -2147188160(80048240) View (unkown member): Invalid request. Clipboard is empty or contains data which may not be pasted here.

Sub CopyRingPowerPoint()
Dim PPApp As PowerPoint.Application
' Create instance of PowerPoint
Set PPApp = CreateObject("Powerpoint.Application")
With PPApp
.Visible = True
.Presentations.Open Filename:= _
"C:\users\Mole\Desktop\EditP.pptx"
'Powerpointdatei wählen, folie 2 duplizieren und Folie 3 auswählen/anzeigen
.ActivePresentation.Slides(2).duplicate
.ActivePresentation.Slides(3).Select
'Aus Sheet figures den Ring kopieren
Sheets("Figures").ChartObjects("RingAll").Copy
End With
With PPApp.ActiveWindow
.View.Paste
.Selection.ShapeRange.Left = 11.1423
.Selection.ShapeRange.Top = 125.708
End With
'Verknüpfung des eingefügten Diagramms entfernen
PPApp.ActivePresentation.Slides(3).Shapes("RingAll").LinkFormat.BreakLink
' Quit PowerPoint
PPApp.ActivePresentation.Save
PPApp.Quit
' Clean up
Set PPApp = Nothing
End Sub
Hast du eine Idee, wo ich den Fehler habe? Vielleicht das Diagramm als object zwischenspeichern ( wenn das möglich ist) und dann einsetzen?
Vielen Dank und Viele Grüße
Mole
Anzeige
AW: Diagramm in PP kopieren
27.08.2018 19:06:20
fcs
Hallo Mole,
das Selektieren von Objekten in einem Slide funktioniert nicht in allen Ansichten in denen man eine Präsentation darstellen kann - z.B. nicht in der Ansicht "Foliensortierung".
Ich hab das Makro angepasst, so dass nach dem Öffnen die Datei auf Ansicht "normal" gestellt wird.
Außerdem kann man das eingefügte Diagramm auch direkt als Object ansprechen und positionieren ohne eine Selektion durchzuführen.
Gruß
Franz
Sub CopyRingPowerPoint()
Dim PPApp As PowerPoint.Application
Dim varView
' Create instance of PowerPoint
Set PPApp = CreateObject("Powerpoint.Application")
With PPApp
.Visible = True
.Presentations.Open Filename:= _
"C:\users\Mole\Desktop\EditP.pptx"
'Ansicht der Präsentation auf "normal" ändern
With .ActiveWindow
varView = .ViewType 'aktuelle Ansicht merken
If .ViewType  ppViewNormal Then .ViewType = ppViewNormal
End With
'Powerpointdatei wählen, folie 2 duplizieren und Folie 3 auswählen/anzeigen
.ActivePresentation.Slides(2).Duplicate
.ActivePresentation.Slides(3).Select
'Aus Sheet figures den Ring kopieren
Sheets("Figures").ChartObjects("RingAll").Copy
.ActiveWindow.View.Paste
'Verknüpfung des eingefügten Diagramms entfernen und Diagramm positionieren
With .ActivePresentation.Slides(3).Shapes("RingAll")
.LinkFormat.BreakLink
.Left = 11.1423
.Top = 125.708
End With
'Window-View zurücksetzen
With .ActiveWindow
If .ViewType  varView Then .ViewType = varView
End With
' Quit PowerPoint
.ActivePresentation.Save
.Quit
End With
' Clean up
Set PPApp = Nothing
End Sub

Anzeige
AW: Diagramm in PP kopieren
30.08.2018 14:37:32
Mole
Funktioniert! Vielen Dank!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige