0

我正在使用办公自动化工具来处理 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

在此先感谢您的帮助。

4

2 回答 2

1

通过从 COM 选项卡中选择正确的引用解决了该问题。来自线程的回答 - http://social.msdn.microsoft.com/Forums/en-US/officegeneral/thread/06cea2b7-f169-4f8a-b53e-4319b12b5450

于 2013-04-05T04:47:07.397 回答
0

我知道您是从(相当).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

如果该答案对您根本没有帮助,请考虑重新标记您的问题。

于 2013-04-04T12:23:01.463 回答