【问题标题】:Pull extra data out of Powerpoint Chart's spreadsheet从 Powerpoint Chart 的电子表格中提取额外数据
【发布时间】:2014-02-10 12:18:33
【问题描述】:
针对所有 PowerPoint 专家。
如果您有一系列数据正在 PowerPoint 中生成图表
excel中的数据看起来像
- 项目1 10
- 项目2 20
- 项目3 30
- 项目4 40
- 共 100 个
将项目拉出并在图表上显示它们的价值很简单......但是如果您也想拉出总价值怎么办?
换句话说,该单元格(称为 B5)的值是否显示在单独的文本框中?
您可以使用 [cell] 语法来定位单元格标签中的特定单元格,但这仅适用于标签内...并且您不能为单元格/系列复制标签。
有没有一种简单的方法来引用创建图表的表格并提取特定单元格的值?
有什么想法或想法吗?
【问题讨论】:
标签:
excel
charts
powerpoint
cell
【解决方案1】:
这是一个例子:
Dim oSh As Shape
Dim oCht As Chart
Dim oChtData As ChartData
Dim x As Long
' For purposes of example, assume that we've got a chart in PPT
' and that it's selected:
Set oSh = ActiveWindow.Selection.ShapeRange(1)
' We could as easily pass a reference to the shape to this routine as a param
' Sanity test; if it's not a chart, bug out
If Not oSh.HasChart Then
Exit Sub
Else
Set oCht = oSh.Chart
Set oChtData = oCht.ChartData
End If
With oChtData
.Activate
Debug.Print .Workbook.Worksheets("Sheet1").Cells(1, 2)
End With
' This leaves the workbook open , so:
oChtData.Workbook.Close
【解决方案2】:
.pptx 文件可以解压缩以显示每个图表的嵌入 .xlsx 文件。您为什么不尝试这种方法来获取您寻找的数据。只需将文件的扩展名更改为 .zip,提取并释放其中的美味。当您在 PowerPoint 中编辑图表数据时,您会在其中找到 Excel 电子表格。
有十几种不同的方式来访问 .xlsx 数据,具体取决于您使用的技术堆栈(单独谷歌)。然后,您可以根据需要询问单元格和工作表。最酷的部分是,以这种方式编辑数据并重新压缩 pptx 为您提供了一种使用 PowerPoint 作为输出构建自动化报告的好方法......动画等等。
顺便说一句,这种解压缩、修改和重新压缩 pptx 的技术非常适合以自动方式换出图像。然后,您可以使用另一个外部系统生成一些图像,然后从命令行更新 pptx。