1

我想用来自 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;

你知道怎么做吗?

星展银行。

4

2 回答 2

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
于 2012-11-23T22:13:41.137 回答
0

我让它运行:

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

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

谢谢您的帮助!

于 2013-04-18T15:02:17.270 回答