1

2 つの質問があります。

1. Frameowrk 3.5 を搭載した VS2010 を使用しており、一部のデータとテキストを持ち上げて、いくつかの既存の Powerpoint ファイルを更新する必要があります。最善のアプローチは何ですか?私は VSTO は初めてですが、かなり長い間 C# を使用しています。

2. 相互運用ライブラリ (Microsoft.Office.Interop.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

私は本当に同じことをしたいだけです。

私は本当に明らかな何かを見逃していますか?

感謝して受け取ったポインタ。

スティーブ

4

1 に答える 1

1

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 からコピー/貼り付けされたオブジェクトにリンクされているか、埋め込まれている場合もあります。

于 2012-10-24T14:59:57.420 に答える