行和列

From Apache OpenOffice Wiki
Jump to: navigation, search
doc OOo
Book.png


每个工作表都由一组行和列组成。这些行和列可以通过电子表格对象的 RowsColumns 属性提供,它们支持 com.sun.star.table.TableColumns 和/或 com.sun.star.table.TableRows 服务。

以下示例创建了两个对象以引用工作表的第一行和第一列,并将引用存储在 FirstColFirstRow 对象变量中。

Dim Doc As Object
Dim Sheet As Object
Dim FirstRow As Object
Dim FirstCol As Object
 
Doc = StarDesktop.CurrentComponent
Sheet = Doc.Sheets(0)
 
FirstCol = Sheet.Columns(0)
FirstRow = Sheet.Rows(0)

列对象支持 com.sun.star.table.TableColumn 服务,该服务具有以下属性:

Width (long)
列宽度,以百分之一毫米为单位。
OptimalWidth (Boolean)
将列设置为最佳宽度。
IsVisible (Boolean)
显示列。
IsStartOfNewPage (Boolean)
打印时,在列前创建分页符。

只有将 OptimalWidth 属性设置为 True 时,才能获得最佳列宽。如果更改某个单元格的宽度,并不会更改包含该单元格的列的宽度。就功能而言,OptimalWidth 更像是一种方法而不是属性。

行对象基于 com.sun.star.table.RowColumn 服务,该服务具有以下属性:

Height (long)
行高度,以百分之一毫米为单位。
OptimalHeight (Boolean)
将行设置为最佳高度。
IsVisible (Boolean)
显示行。
IsStartOfNewPage (Boolean)
打印时,在行前创建分页符。

如果将行的 OptimalHeight 属性设置为 True,在更改某个单元格的高度时,将会自动更改包含该单元格的行的高度。除非通过 Height 属性指定行的绝对高度,否则将继续自动优化行高度。

以下示例将为工作表中的前五行激活自动高度优化,并隐藏第二列。

Dim Doc As Object
Dim Sheet As Object
Dim Row As Object
Dim Col As Object
Dim I As Integer
 
Doc = StarDesktop.CurrentComponent
Sheet = Doc.Sheets(0)
 
For I = 0 To 4
   Row = Sheet.Rows(I)
   Row.OptimalHeight = True
Next I
 
Col = Sheet.Columns(1)
Col.IsVisible = False
Documentation note.png 在 Apache OpenOffice Basic 中,可以通过索引访问 RowsColumns 列表。与 VBA 不同,第一列的索引为 0 而不是 1。

插入和删除行和列

工作表的 RowsColumns 对象可以访问现有的行和列,也可以插入和删除这些行和列。

Dim Doc As Object
Dim Sheet As Object
Dim NewColumn As Object
 
Doc = StarDesktop.CurrentComponent
Sheet = Doc.Sheets(0)
 
Sheet.Columns.insertByIndex(3, 1)
Sheet.Columns.removeByIndex(5, 1)

本示例使用 insertByIndex 方法在工作表第四列的位置插入了一个新列(索引为 3,编号从 0 开始)。第二个参数指定要插入的列数(本示例中为一个)。

removeByIndex 方法删除了第六列(索引为 5)。同样,第二个参数指定要删除的列数。

用于插入和删除行的方法使用 Rows 对象函数,其方式与此处介绍的使用 Columns 对象编辑列的方式一样。

Content on this page is licensed under the Public Documentation License (PDL).
Personal tools