【发布时间】:2015-03-18 10:21:53
【问题描述】:
在 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 设置图表样式,以便与手动生成的图表匹配(即应用了图表样式)?
我知道 C# - Excel 2013 how to change chart style 中提到的 Chart.ChartStyle 属性,但它似乎只改变图表颜色和图例位置,而不是字体大小。 PowerPoint 中没有宏记录器,因此我无法生成 VBA 代码来复制创建新图表的操作。
【问题讨论】:
-
提示:在 Excel 中使用宏记录器。两者之间的图表对象模型非常相似。您需要调整结果,但这会给您一个良好的开端。
-
感谢您的建议。 Excel 记录器说我应该使用 ChartStyle 属性,它会更改图表颜色和图例位置,但不会更改标签的字体大小。是的,可以分别更改轴标签、图例和数据标签的字体大小,但我希望有一种更优雅的方法可以避免这种情况。
-
我不相信有。我们得到了力量,我们得到了蛮力。我不认为我们变得优雅。
标签: c# powerpoint office-interop