繁体   English   中英

以编程方式为PowerPoint演示文稿中的特定表格单元格自动调整TextFrame的大小

[英]Autosize of TextFrame for a specific table cell in PowerPoint presentation programmatically

我遇到了下一种情况。 有一些变量:

        PowerPoint.Application objApp;
        Microsoft.Office.Interop.PowerPoint.Shape oShape;
        PowerPoint.Presentations objPresSet;
        PowerPoint._Presentation objPres;
        PowerPoint.Slides objSlides;
        PowerPoint._Slide objSlide;
        Microsoft.Office.Interop.PowerPoint.Shape oShape;

我正在创建PowerPoint 2010幻灯片演示文稿:

        objApp = new PowerPoint.Application();
        objApp.Visible = MsoTriState.msoTrue;
        objPresSet = objApp.Presentations;
        objPres = objPresSet.Open(strTemplate, MsoTriState.msoFalse, MsoTriState.msoTrue, MsoTriState.msoTrue);
        objSlides = objPres.Slides;

在这里,我正在创建一张幻灯片:

        objSlide = objSlides.Add(2, PowerPoint.PpSlideLayout.ppLayoutTitleOnly);

对于下一步,我将表格添加到幻灯片中:

        int rows = 4;
        int cells = 10;
        oShape = objSlide.Shapes.AddTable(rows, cells, 10, 10, 400, 450);

而且我对添加到特定单元格的文本没有任何问题:

        oShape.Table.Cell(1, 1).Shape.TextFrame.TextRange.Text = "Dummy Text";

但是,单元格不想拉伸。 我试图用AutoSize属性修改TextFrame

        oShape.Table.Cell(1, 1).Shape.TextFrame.AutoSize = MsoAutoSize.msoAutoSizeTextToFitShape;

在这里,我得到了“ ArgumentException”:

指定的值超出范围。

有什么想法为什么会发生吗? 如果否,是否还有另一种方法可以扩展表格单元格?

因此,多亏了Steve Rindsberg,解决方案才得以实现:

oShape.Table.Columns._Index(2).Width = 12;

多数民众赞成在表格中的列大小改变得很好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM