通过PowerPoint中的VBA更改链接的Excel文件

时间:2019-01-31 12:38:43

标签: vba powerpoint powerpoint-vba

我有多张幻灯片,其中包含带有示例数据的多个图表。我想用实际数据更新这些图表,这些数据位于同一文件夹的excel文件中。我可以通过ppt中的VBA来执行此操作吗?

我阅读了此答案edit chart data in powerpoint,但这并未指定我可以在何处提及excel文件并选择特定数据。

请帮助!

1 个答案:

答案 0 :(得分:0)

在您链接到的问题上,最高答案提供了以下代码:

With ActivePresentation.Slides(sl).Shapes(sh).Chart.ChartData
    .Activate
    .Workbook.Sheets(1).Range("A1").Value = "test_data"
    .Workbook.Close
End With

关于答案的评论之一指出,一旦Activate ChartData,基本上就是在处理Excel。您还可以在Powerpoint VBA中启动Excel的实际实例,然后打开工作簿,从中提取数据,然后将其放入ChartData对象中,就像在excel中使用VBA一样。

要在PowerPoint VBA中启动Excel实例,请尝试以下操作:

Dim xlApp As Excel.Application
Set xlApp = CreateObject("Excel.Application")

xlApp.Visible = True

xlApp.Workbooks.Open "C:\lol\Book1.xlsx", True, False

'once Book1 is open you can extract data from Book1 and move it to 
'the appropriate place in .ChartData.Workbook

Set xlApp = Nothing

(以上代码来自this answer