Obtenir les Données dans une présentation Powerpoint un Graphique dans Microsoft Excel à l'aide de VBA

Je suis en train d'essayer de récupérer les données dans une présentation Powerpoint Graphique à partir d'Excel en utilisant VBA (coller des données dans la feuille de données, c'est derrière un Powerpoint Objet Graphique).

Je suis en utilisant ce code comme exemple (source):

'Code by Mahipal Padigela
'Open Microsoft Powerpoint,Choose/Insert a Graph type Slide(No.8), then double click to add a graph and click...
'...outside the graph to close the Datasheet, then rename the Graph to "Mychart",Save and Close the Presentation
'Open Microsoft Excel, add some test data to Sheet1(This example assumes that you have some test data...
'...(numbers between 0-100) in Rows 2,3,4 and Columns B,C,D,E).
'Open VBA editor(Alt+F11),Insert a Module and Paste the following code in to the code window
'Reference 'Microsoft Powerpoint Object Library' (VBA IDE-->tools-->references)
'Reference 'Microsoft Graph Object Library' (VBA IDE-->tools-->references)
'Change "strPresPath" with full path of the Powerpoint Presentation created earlier.
'Change "strNewPresPath" to where you want to save the new Presnetation to be created later
'Close VB Editor and run this Macro from Excel window(Alt+F8) 
Dim oPPTApp As PowerPoint.Application
Dim oPPTShape As PowerPoint.Shape
Dim oPPTFile As PowerPoint.Presentation
Public oGraph As Graph.Chart
Dim SlideNum As Integer
Sub PPGraphMacro()
Dim strPresPath As String, strExcelFilePath As String, strNewPresPath As String
strPresPath = "H:\PowerPoint\Presentation1.ppt"
strNewPresPath = "H:\PowerPoint\New1.ppt"
Set oPPTApp = CreateObject("PowerPoint.Application")
oPPTApp.Visible = msoTrue
Set oPPTFile = oPPTApp.Presentations.Open(strPresPath)
SlideNum = 1
oPPTFile.Slides(SlideNum).Select
Set oPPTShape = oPPTFile.Slides(SlideNum).Shapes("Mychart")
Set oGraph = oPPTShape.OLEFormat.Object
Sheets("Sheet1").Activate
oGraph.Application.DataSheet.Range("A1").Value = Cells(2, 2).Value
oGraph.Application.DataSheet.Range("A2").Value = Cells(3, 2).Value
oGraph.Application.DataSheet.Range("A3").Value = Cells(4, 2).Value
oGraph.Application.DataSheet.Range("B1").Value = Cells(2, 3).Value
oGraph.Application.DataSheet.Range("B2").Value = Cells(3, 3).Value
oGraph.Application.DataSheet.Range("B3").Value = Cells(4, 3).Value
oGraph.Application.DataSheet.Range("C1").Value = Cells(2, 4).Value
oGraph.Application.DataSheet.Range("C2").Value = Cells(3, 4).Value
oGraph.Application.DataSheet.Range("C3").Value = Cells(4, 4).Value
oGraph.Application.DataSheet.Range("D1").Value = Cells(2, 5).Value
oGraph.Application.DataSheet.Range("D2").Value = Cells(3, 5).Value
oGraph.Application.DataSheet.Range("D3").Value = Cells(4, 5).Value
oGraph.Application.Update
oGraph.Application.Quit
oPPTFile.SaveAs strNewPresPath
oPPTFile.Close
oPPTApp.Quit
Set oGraph = Nothing
Set oPPTShape = Nothing
Set oPPTFile = Nothing
Set oPPTApp = Nothing
MsgBox "Presentation Created", vbOKOnly + vbInformation
End Sub

Lorsque j'exécute ce le PPT ouvre simplement bon et le code puis s'arrête à:

Set oGraph = oPPTShape.OLEFormat.Object

avec le message d'erreur "OLEFormat (membre inconnu) : demande non Valide. Cette propriété ne s'applique qu'à des Objets OLE."

Je suis aide d'Excel et de PowerPoint 2010.

Ce que je fais mal? Je suis assez nouveau à tout cela, donc je suppose que c'est quelque chose de simple.

Merci

/Jimmy

Votre code s'exécute correctement dans Excel 2003... Quelle version avez-vous? Avez-vous mis les références et faire tout le reste est décrit dans les commentaires en haut du code? Est Microsoft Graph installé?
Corbett j'utilise Office 2010. Toutes les références sont ensemble et tout le reste est fait. Cela fonctionne par exemple: mahipalreddy.com/vba.htm#pptable ai-je besoin d'installer Microsoft Graph pour ce faire? Autant que je sache, je n'ai pas installé.

OriginalL'auteur Jimmy Sjöberg | 2011-06-15