Einführung
Ich kann die Methode ChartObjects.CopyPicture in Excel 2007 nicht zum Laufen bringen. Egal was ich versuche, ich erhalte eine Fehlermeldung.
Bei Verwendung dieser Technik wird in der CopyPicture-Zeile ein "anwendungsdefinierter oder objektdefinierter Fehler" ausgelöst.
ActiveSheet.ChartObjects.CopyPicture Appearance:=xlScreen, Format:=xlPicture
Sheets("Sheet2").Paste
Diese Methode löst in der PasteSpecial-Zeile die Meldung "PasteSpecial-Methode der Worksheet-Klasse fehlgeschlagen" aus.
ActiveSheet.ChartObjects.Copy
Sheets("Sheet2").PasteSpecial Format:="Picture (Enhanced Metafile)", Link:=False, DisplayAsIcon:=False
Wenn ich das Diagramm jedoch als Shape-Objekt verwende, funktioniert es.
ActiveSheet.Shapes("Chart 6").CopyPicture Appearance:=xlScreen, Format:=xlPicture
Sheets("Sheet2").Paste
Dies funktioniert auch
ActiveSheet.Shapes("Chart 6").Copy
Sheets("Sheet2").PasteSpecial Format:="Picture (Enhanced Metafile)", Link:=False, DisplayAsIcon:=False
Problem
Mein Problem ist, dass das Kopieren mehrerer Diagramme als Gruppe fehlschlägt, wenn ich es versuche.
Ich habe versucht, die Range-Eigenschaft des Shapes-Objekts zu verwenden, aber es ist keine CopyPicture-Methode verfügbar. Ich kam mit diesem Workaround, aber dies auch fehlgeschlagen, mit den gleichen Meldungen, die ich bekam, wenn Sie versuchen, CopyPicture.
ActiveSheet.Shapes.Range(Array("Chart 5", "Chart 6")).Select
Selection.CopyPicture Appearance:=xlScreen, Format:=xlPicture
Sheets("Sheet2").Paste
Umgekehrt hat auch dies nicht funktioniert
ActiveSheet.Shapes.Range(Array("Chart 5", "Chart 6")).Select
Selection.Copy
Sheets("Sheet2").PasteSpecial Format:="Picture (Enhanced Metafile)", Link:=False, DisplayAsIcon:=False