簡體   English   中英

PowerPoint幻燈片中的foreach圖表?

[英]foreach chart in powerpoint slide ?

我有兩個問題。

1.我有帶有Frameowrk 3.5的VS2010,需要提升一些數據和文本並更新一些現有的Powerpoint文件。 最好的方法是什么? 我是VSTO的新手,但已經使用C#相當一段時間了。

2.我一直在使用Interop庫(Microsoft.Office.Interop.PowerPoint)進行測試,因此我需要打開一個Powerpoint並更改所有幻燈片和圖表中的一些文本。 幻燈片和便箋沒問題,但圖表似乎是個問題。 似乎沒有圖表集合,並且if(shape.Type == Office.MsoShapeType.msoChart)返回false。

我之前在VBA中完成了此操作,並使用了以下代碼

For Each chtChart In sht.ChartObjects
        chtChart.Chart.ChartTitle.Characters.Text = Replace    (chtChart.Chart.ChartTitle.Characters.Text, "{month}", strCurrent,    VbCompareMethod.vbTextCompare)
Next chtChart

我只是真的想做同樣的事情。

我是否缺少某些明顯的東西?

感激任何指針。

史蒂夫

您可能會在PPT中運行幾種圖表類型。 忽略舊的MSGraph圖表,您可能會發現用戶使用“插入” |“添加”添加的圖表。 圖表。

這些形狀將是.Type = 3(msoChart)的形狀。 這是如何獲取這些圖表和/或圖表數據的示例:

Sub ShowChartData()

Dim oSh As Shape
Dim oCht As Chart
Dim oData As ChartData

Dim x As Long
Dim y As Long
Dim sTemp As String

Set oSh = ActiveWindow.Selection.ShapeRange(1)

Set oCht = oSh.Chart
oCht.ChartData.Activate
Set oData = oCht.ChartData

For x = 1 To 4
    For y = 1 To 4
        sTemp = sTemp & oData.Workbook.Worksheets("Sheet1").Cells(x, y) & vbTab
    Next    ' y/cell
    Debug.Print sTemp
    sTemp = ""
Next ' x/row

' do this to get rid of visible worksheet
oData.Workbook.Close

Set oData = Nothing
Set oCht = Nothing

End Sub

圖表也可能是鏈接的或從Excel復制/粘貼的嵌入式對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM