如何在Powerpoint VBA中访问由Cell(i,j).Split创建的新单元格

时间:2019-08-20 16:04:58

标签: powerpoint cell powerpoint-vba

假设我在Powerpoint中有一张表,在此图中看起来是左表。直截了当,两列两行。

  ___________________                    ___________________ 
 |         |         |                  |         |         |
 |  1,1    |  1,2    |    Split         |  1,1    |  1,2    |
 |         |         |                  |         |         |
 |_________|_________|    ----->        |_________|_________|
 |         |         |    ----->        |         |   ?,?   |
 |  2,1    |  2,2    |                  |  2,1    |_________|
 |         |         |                  |         |   ?,?   |
 |_________|_________|                  |_________|_________|

我可以通过以下变量访问保存表格的形状

dim myShape As PowerPoint.Shape

我可以使用来访问右下角的单元格(请记住,VBA单元格是基于1的,而不是基于0的)

myShape.Table.Cell(2,2)

我可以拆分任何单元格。让我们将右下方的单元格分成两行:

myShape.Table.Cell(2,2).Split 2,1

我的表现在看起来像顶部两个表中的右边一个。

如何访问?,?指示的右下角的两个单元格中的任何一个?

我尝试过

myShape.Table.Cell(2,2).Shape.Table.Cell(1,1)

例如,访问这两个单元中的较高者。我还检查了vba调试器中的各个vba对象,并做了一些Google研究。我所能找到的就是如何拆分单元格,而不是拆分后如何访问任何单元格。我该怎么办?

1 个答案:

答案 0 :(得分:0)

一旦拆分了单元格,PowerPoint就会认为会有更多的行(或者列,如果您采用这种方式拆分的话)。第一条语句将访问拆分的顶部单元格,第二条语句将访问较低的单元格:

ActivePresentation.Slides(1).Shapes(1).Table.Cell(Row:=2, Column:=2).Select
ActivePresentation.Slides(1).Shapes(1).Table.Cell(Row:=3, Column:=2).Select