VBA从Excel中获取数据

我现在有一个通过Excel生成的图表的简报。

我需要做的是获得图表的价值(或Excel,无所谓),以做一些animation。

问题是,我似乎无法让我的代码工作。

如果有任何更简单的方法来做到这一点,我会很高兴听到!

这是我的代码:

Sub moveRectangle() Dim pptChart As Chart Dim pptcd As ChartData Dim xlWorkbook As Object Dim PPPres As Presentation Dim pptShape2 As Shape Dim wb As Excel.Workbook Dim ws As Excel.Worksheet Dim sld As Slide Dim shp As Shape Dim PPApp As PowerPoint.Application 'Look for existing instance On Error Resume Next Set PPApp = GetObject(, "PowerPoint.Application") On Error GoTo 0 'Create new instance if no instance exists Set PPApp = CreateObject("Powerpoint.Application") Set PPPres = PPApp.ActivePresentation Set pptShape = PPPres.Slides(1).Shapes("Rectangle 16") Set pptShape2 = PPPres.Slides(1).Shapes("Chart 3") Set pptChart = pptShape2.Chart Set pptcd = pptChart.ChartData MsgBox (pptShape2.Name) Set wb = pptcd.Workbook Set ws = wb.Worksheets(1) pptShape.Left = pptShape.Left - 40 End Sub 

问题是,我得到以下错误:

 Method 'Workbook' of Object 'ChartData' failed 

任何帮助都非常感谢!

为了让它在没有激活excel的情况下工作(它存在全屏模式,非常烦人),必须做的是添加

 With pptChart.ChartData ... End With 

这使您可以获得相同的function,而无需“激活excel”