有幾種方法可以使用通常作爲MS Office的一部分安裝的內容。您選擇哪種版本將在一定程度上取決於您所寫的Office版本。
鑑於大多數客戶對Excel與PPT等提供的默認圖表不符合要求,您需要插入圖表,然後在程序控制下執行所有格式設置,或者我的可將預先格式化的樣本圖表存儲在單獨的PPT/PPTX文件中。您可以無形地打開它,根據需要將圖表複製/粘貼到當前幻燈片中,然後以編程方式修改數據。
其中一個最大的優點就是你(或者客戶端,如果你選擇讓他們進入技巧)可以快速方便地更改格式,而無需更改一行代碼。
回到原來的問題,原生PPT圖表中的數據很容易找到。快速VBA示例:
Sub FiddleTheChartData()
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
.Workbook.Worksheets("Sheet1").Cells(3, 3) = 42
End With
' This leaves the workbook open in Excel, so:
oChtData.Workbook.Close
' Might want to iterate through the Workbook.Parent's worksheets and
' if there are more than one, decide whether or not to close them and dismiss
' Excel or not
End Sub
非常感謝!這正是我所期待的 – sbrother