以编程方式自动调整 PowerPoint 演示文稿中特定 table 单元格的 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);
对于下一步,我将 table 添加到幻灯片:
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":
The specified value is out of range.
知道为什么会这样吗?
如果不是,是否有另一种拉伸 table 单元格的方法?
所以,感谢 Steve Rindsberg 解决方案是:
oShape.Table.Columns._Index(2).Width = 12;
这很好地改变了 table 中列的大小。
我得到了下一个情况。 得到了一些变量:
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);
对于下一步,我将 table 添加到幻灯片:
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":
The specified value is out of range.
知道为什么会这样吗? 如果不是,是否有另一种拉伸 table 单元格的方法?
所以,感谢 Steve Rindsberg 解决方案是:
oShape.Table.Columns._Index(2).Width = 12;
这很好地改变了 table 中列的大小。