来自Matlab的Powerpoint表大小

时间:2012-11-23 20:49:46

标签: matlab vba powerpoint powerpoint-vba

我想用Matlab(2010a)的数据填写一个powerpoint(我在2007年工作)表。

为此,我在MATLAB中使用:

% Open powerpoint with handle
ppH = actxserver('PowerPoint.Application');

% Add new presentation
presH = ppH.Presentation.Add;

% Add blank slide
blankSlide = presH.SlideMaster.CustomLayouts.Item(7);
slideH = presH.Slides.AddSlide(1,blankSlide);

% Create 10x5 table
tableH = slideH.Shapes.AddTable(10,5,10,10,200,200);

好的,现在我想改变单元格的高度和宽度。到目前为止,我一直没有成功:

tableH.Table.Cell(1,1).Shape.Width = 95;
tableH.Table.Columns(1).Shape.Width = 95;
tableH.Table.Columns(1).Width = 95;
tableH.Table.Cell(1,1).Parent.Columns(1).Width = 95;
slideH.Shapes(1).Table.Columns(1).Width = 95;

你知道怎么做吗?

DBS。

2 个答案:

答案 0 :(得分:1)

这适用于PPT 2010,其中表OM是半破碎的。它是否能在PPT 2007中工作,其中表OM是一个火车残骸是另一个故事。如果它没有将当前所选表格的第一列设置为2英寸(144点)宽,则可能是由于PPT错误造成的。

Dim osh As Shape
Dim oTbl As Table
Set osh = ActiveWindow.Selection.ShapeRange(1)
Set oTbl = osh.Table

With oTbl
    .Columns(1).Width = 144
End With

答案 1 :(得分:0)

我让它运行:

tableH.Table.Columns.Item(1).Width = 95;

其中Item(i)表示第i列。

感谢您的帮助!