Excel Powerpoint erstellen VBA

kinimod2010

Cadet 4th Year
Registriert
Sep. 2014
Beiträge
68
Hallo Leute,
Ich habe mich bisschen mit VBA gespielt habe jetzt jedoch die ganze zeit einen fehler beim einfügen der Grafik in die Folie? Ich verstehe nicht warum kann mir da bitte jemand weiterhelfen?

Code:
Option Explicit

Sub Rechteck3_Klicken()

Dim myAppl As PowerPoint.Application

Dim pptPresentation As PowerPoint.Presentation
Dim ppSlide As PowerPoint.Slide
Dim Diagramm As ChartObject
Dim Anzahl As Integer
Dim Pfad As String


ChDir ActiveWorkbook.Path


Pfad = Application.GetOpenFilename("PPTX (*.pptx),*.pptx,Alle Dateien,*.*") ' nur .pptx Datein auswählen'

Sheets("Tabelle2").Activate 'Tabellenblatt Tabelle 2 aktivieren'
Sheets("Tabelle2").Select
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.CopyPicture

Set myAppl = CreateObject("Powerpoint.Application")
ActiveChart.ChartArea.Select
ActiveChart.ChartArea.Copy

'Öffnet die Präsentation'
With myAppl
.Presentations.Open Filename:=Pfad
.Visible = True
.WindowState = ppWindowMinimized
Anzahl = .ActivePresentation.Slides.Count
Set ppSlide = .ActivePresentation.Slides.Add(Anzahl + 1, ppLayoutTitle) ' zählen der folien und in anzahl speichern'
.ActivePresentation.Slides(Anzahl + 1).Select ' auswahl der letzten folie'
.Activate                       ' letzte folie aktiviert'
.ActiveWindow.View.Paste        ' funktioniert leider nicht'
End With

'Richtiet das Diagramm auf der Folie aus'
With myAppl.ActiveWindow.Selection.ShapeRange
    .Left = 35#
    .Top = 100#
    .Width = 650
    .Height = 400#
End With

'Speichern und schließen der Präs'
myAppl.Visible = True
myAppl.ActivePresentation.Save
myAppl.Quit

End Sub

Vielen Dank Leute
 
Hallo Duke00

Ich bekomme ein Popup mit (Microsoft Visual Basic for Applications) und der Fehler ist Laufzeitfehler'-2147188160 (80048240)': Automatisierungsfehler

Der fehler kommt beim debuggen genau in der zeile vom paste

Vielen Dank für deine Mühe
 
Hallo Duke,

Haben den fehler gefunden:
Code:
ActiveChart.ChartArea.Select
ActiveChart.ChartArea.Copy

die Zeilen habe ich gelöscht

Code:
.ActiveWindow.View.Paste

die auch

und habe eingefügt:

ppSlides.Shapes.Paste

Habe nach rechachiert und gefunden das wenn ich ein bild kopiere dieses dann auch nur als bild ausgeben kann hatte aber ein chart im Kopie modus:)

Vielen dank

Ps.: gibt es eine möglichkeit wie ich alle shapes lösche im Powerpoint sowie z.b.: Shapes.deleteall
 
Wohl nur mir For-Each abklappern und einzeln löschen…
CN8
 
Zurück
Oben