Thema Datum  Von Nutzer Rating
Antwort
Rot Chartdata.Workbook.Activate beim Aufruf aus Excel schlägt scheinbar wahllos fehl
15.02.2021 22:56:24 Marco
Solved
16.02.2021 12:44:33 ralf_b
NotSolved
16.02.2021 18:01:11 Marco
NotSolved
16.02.2021 19:32:46 ralf_b
NotSolved
17.02.2021 09:07:31 Marco
NotSolved
17.02.2021 09:54:08 ralf_b
NotSolved
17.02.2021 11:10:56 Marco
NotSolved
17.02.2021 10:00:56 Marco
NotSolved

Ansicht des Beitrags:
Von:
Marco
Datum:
15.02.2021 22:56:24
Views:
1271
Rating: Antwort:
 Nein
Thema:
Chartdata.Workbook.Activate beim Aufruf aus Excel schlägt scheinbar wahllos fehl

Hi Forum,

vielleicht kann jemand helfen: Ich möchte aus Excel heraus die Datentabellen aus allen Diagrammen einer PowerPoint-Datei in die Excel kopieren (Office 2016). Das funktioniert im Prinzip, schlägt aber an scheinbar wahlloser Stelle immer wieder fehl. Laut Fehlermeldung ist entweder Chartdata.Workbook.Activate fehlgeschlagen oder das PasteSpecial funktioniert nicht. Es handelt sich bei mehreren Durchläufen nicht immer um dasselbe Diagramm. Alle Versuche mit Loops den fehlgeschlagenen Prozess einfach zu wiederholen funktionieren nicht. Aufgefallen ist mir nur, dass ich die jeweilige Datendatei in PowerPoint selbst öffnen kann, sie heißt dann aber nicht wie sonst "Diagramm in PowerPoint" sondern "Mappe xy". Hat jemand eine Idee, warum das instabil ist? 

Vielen Dank, Marco

Sub PPTAuslesen()

    Dim zeile As Integer
    Dim pptApp As PowerPoint.Application
    Dim ppFile As PowerPoint.Presentation
    Dim ppSlide As PowerPoint.Slide
    Dim ppShape As PowerPoint.Shape
    Dim ppChart As PowerPoint.Chart
    Dim ppChartData As PowerPoint.ChartData
    Dim wks As Excel.Worksheet
    Dim ppdatawkb As Excel.Workbook
           
    Set pptApp = GetObject(, "PowerPoint.Application")
    Set ppFile = pptApp.ActivePresentation

    Set wks = ThisWorkbook.ActiveSheet
    zeile = 1

    For Each ppSlide In ppFile.Slides
        For Each ppShape In ppSlide.Shapes
            If ppShape.Type = msoChart Then
                Set ppChart = ppShape.Chart
                Set ppChartData = ppChart.ChartData
                ppChartData.Activate
                Set ppdatawkb = ppChartData.Workbook
                ppdatawkb.Sheets(1).UsedRange.Copy
                wks.Cells(zeile, 4).PasteSpecial xlValues
                ppdatawkb.Close
                zeile = zeile + 20
                Set ppdatawkb = Nothing
            End If
        Next ppShape
    Next ppSlide
    
    Set pptApp = Nothing
    Set ppFile = Nothing
    Set ppSlide = Nothing
    Set ppShape = Nothing
    Set ppChart = Nothing
    Set ppChartData = Nothing
    
End Sub

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen