在PowerPoint 2013中创建一个新的图表,并应用图表样式

3
在PowerPoint 2013中,当我手动插入幻灯片中的新图表时,该图表会自动应用“样式1”图表样式。这将导致图表标签的字体大小设置为12。
但是,如果尝试使用以下C#代码向PowerPoint 2013添加新图表,则不会应用任何图表样式:
var ppt = new Microsoft.Office.Interop.PowerPoint.Application();
var presentation = ppt.Presentations.Add();
var layout = Microsoft.Office.Interop.PowerPoint.PpSlideLayout.ppLayoutChart;
var slide = presentation.Slides.Add(1, layout);
var shapes = slide.Shapes;
shapes.AddChart();

字体大小似乎默认为18。有没有办法创建一个图表或使用Interop设置Chart Styles,以使其与手动生成的图表匹配(即应用了Chart Styles)?
我知道Chart.ChartStyle属性,如C# - Excel 2013 how to change chart style中所述,但它似乎只能更改图表颜色和图例位置,而不能更改字体大小。PowerPoint中没有宏录制器,因此我无法生成VBA代码来复制创建新图表的操作。

提示:在Excel中使用宏记录器。两者之间的图表对象模型非常相似。您需要调整结果,但这将为您提供一个良好的起点。 - Steve Rindsberg
谢谢您的建议。Excel记录器建议我使用ChartStyle属性,该属性可以更改图表颜色和图例位置,但不会更改标签的字体大小。是的,可以分别更改轴标签、图例和数据标签的字体大小,但我希望有一种更优雅的方法来避免这种情况。 - Justin
我不相信有这种东西。我们有强制力和蛮力,但我认为我们没有优雅的力量。 - Steve Rindsberg
1个回答

1
似乎在设置ChartStyle之后调用ClearToMatchStyle()会应用我所需的字体样式更改:
var ppt = new Microsoft.Office.Interop.PowerPoint.Application();
var presentation = ppt.Presentations.Add();
var layout = Microsoft.Office.Interop.PowerPoint.PpSlideLayout.ppLayoutChart;
var slide = presentation.Slides.Add(1, layout);
var shapes = slide.Shapes;
var chart_shape = shapes.AddChart();
chart_shape.Chart.ChartStyle = 201;
chart_shape.Chart.ClearToMatchStyle();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接