Charts PowerPoint互操作-如何访问形状以外的图表?

Charts PowerPoint互操作-如何访问形状以外的图表?,charts,interop,powerpoint,Charts,Interop,Powerpoint,我正在使用一个办公自动化工具来处理PowerPoint文档,在这里我遇到了一个格式化图表的问题 我正在使用以下程序集格式化演示文稿 Microsoft.Office.Interop.PowerPoint版本:12.0.0.0 Microsoft.Office.Interop.Graph版本:12.0.0.0 要求将图例位置、颜色、字体等样式应用于演示文稿中存在的图表 我可以像这样验证形状 shape.HasChart==MsoTriState.msoTrue 但无法使图表对象脱离形状 尝试了以下

我正在使用一个办公自动化工具来处理PowerPoint文档,在这里我遇到了一个格式化图表的问题

我正在使用以下程序集格式化演示文稿 Microsoft.Office.Interop.PowerPoint版本:12.0.0.0 Microsoft.Office.Interop.Graph版本:12.0.0.0 要求将图例位置、颜色、字体等样式应用于演示文稿中存在的图表

我可以像这样验证形状 shape.HasChart==MsoTriState.msoTrue 但无法使图表对象脱离形状

尝试了以下代码,但收到OLEFormat异常 Graph.Chart Chart=(Graph.Chart)shape.OLEFormat.Object


提前感谢您的帮助。

我知道您是从(而非.NET)的角度提出要求的,但我将向您展示VBA PowerPoint中的一些代码。我的目标是向您展示对象层次结构。我相信这对你解决问题会很有帮助

Sub Chart_Elements()

Dim CHRT As Chart
'first shape in the 1st slide is chart
Set CHRT = ActivePresentation.Slides(1).Shapes(1).Chart

With CHRT
    'to set legend position
    .Legend.Position = xlLegendPositionBottom
    'to set size of 1st entry in legend
    .Legend.LegendEntries(1).Font.Size = 10
    'and so on
End With
End Sub

如果答案对你没有帮助,请考虑重新标注你的问题。

< P>通过从COM选项卡中选择正确的引用来解决这个问题。
从线程中回答-

感谢您的回复。正如我在文章中提到的,我正在使用版本12的互操作程序集,其中我没有形状的图表属性。不支持shape.Chart。通过从COM选项卡中选择正确的引用解决了此问题。发帖-