如何使用C#interop库在PowerPoint中重新调整表的大小?

时间:2015-11-17 14:33:04

标签: c# interop powerpoint tabular

我正在使用C#动态创建PowerPoint,我需要创建一个包含可变行和列的表(取决于我正在处理的数据。)以下代码创建表。

PowerPoint.Application pptObj = new PowerPoint.Application();
PowerPoint.Presentations presObj = pptObj.Presentation;
PowerPoint.Presentation pObj = presObj.Add(MsoTriState.msoTrue);
PowerPoint.Slides objSlides;
PowerPoint.Slide objSlide;
PowerPoint.Shapes shapes;

float pHeight = pObj.PageSetup.SlideHeight;
float pWidth = pObj.PageSetup.SlideWidth;

objSlide = objSlides.Add(1,PowerPoint.PpSlideLayout.ppLayoutTitleOnly);
shapes = objSlide.shapes;
shapes.AddTable(16,7,20,100,pWidth - 40,pHeight - 150);

我可能已经留下了其他代码详情。问题是没有封闭在幻灯片内的桌子。它消失了。 我无法重新调整表格。还有其他任何我可以调整表格并将其放入幻灯片中而不管行数和列数是多少吗?

1 个答案:

答案 0 :(得分:0)

表格增长以容纳他们持有的文字数量;单个行不能缩小到低于将文本保持在当前字体大小+前导+边距等所需的高度。

所以问题的答案很可能是:

创建表格 添加要添加到表格中的所有行,列和文本,其中包含您喜欢的最大尺寸的文本。

然后循环:

缩小文字大小和/或间距,然后缩小每行的高度,直到表格的整体尺寸符合您的需要为止。