1

我得到了下一个情况。得到一些变量:

        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";

但是,细胞不想伸展。我尝试TextFrame使用AutoSize属性进行修改:

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

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

指定的值超出范围。

任何想法为什么会发生?如果没有,是否有另一种方法来拉伸表格单元格?

4

1 回答 1

2

因此,感谢 Steve Rindsberg,解决方案将是:

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

那很好地改变了表中列的大小。

于 2015-03-05T09:20:47.823 回答