OpenOffice Base - 如何在宏中更改表格控件的高度?

时间:2011-12-13 07:01:54

标签: openoffice.org libreoffice openoffice-basic openoffice-base

我在Libre / OpenOffice Base表格中有表格控制,它是动态填充的 我想改变它的高度以匹配行数 怎么做?

我尝试更改getSize() / setSize()height属性,但我得到了:

Property or method not found: getSize

我的代码:

oTable = oForm.GetByName("MySubForm").GetByName("MyTable")
oTable.getSize()

可视化: http://i.imgur.com/IHi75.png

关于此表控件,因为它在Base中命名 - 在调试器中它是com.star.comp.forms.OGridControlModel,在content.xml中它被列为com.sun.star.form.component.GridControl

1 个答案:

答案 0 :(得分:1)

你的问题是Table对象没有高度,高度是基于行数(以及TopMargin和BottomMargin)。

每一行都有自己的高度属性。

如果您想要桌子的高度,则需要将所有行的高度相加。表有TopMargin和BottomMargin属性影响?感知?身高也是如此。

Rows = Table.getRows
For I = 0 To Rows.getCount() - 1
   Row = Rows.getByIndex(I)
   CurrentHeight = CurrentHeight + Row.Height
Next

如果要设置表格的高度,则需要添加/删除行或更改当前行的高度。

Rows.insertByIndex(Rows.getCount(), 1)
Row = Rows.getByIndex(Rows.getCount() - 1)
Row.IsAutoHeight = False
Row.Height = 1000

您可以在线查看完整的文档。 http://wiki.services.openoffice.org/wiki/Documentation/BASIC_Guide/More_Than_Text