在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代码来复制创建新图表的操作。
答案 0 :(得分:1)
设置ClearToMatchStyle()
后调用ChartStyle
似乎应用了我之后的字体样式更改:
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();