添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
From Apache OpenOffice Wiki

Template:文档//v2

工作表由两-列表二维数组含有单元格。 每个单元格都由定义的x和y-进行的左上方单元格位置(0,0)。 运算符==寻址和编辑单个单元格== 以下示例会建立一个对象引用左上角单元格和插入文字的单元格:

lang=""> 

Dim Doc As Object Dim Sheet As Object Dim单元格对象 Doc=ThisComponent Sheet=Doc.Sheets(0) Cell=Sheet.getCellByPosition(0,0) Cell.String="test" </source> 除数字坐标外,每个单元格的工作表的名称,例如,左上角单元格(0,0)电子表格是称为 A1。 “字母 A 表示列,数字1表示行。 这是非常重要的"名称"和"位置"单元格混乱,因为行计数是名称从1开始的,但位置计数是从0开始的。 在 Apache OpenOffice、表格单元格可以为空或包含文本、数字或公式。 单元格的类型是不确定的内容被保存在该单元格,而是对象属性决定用于其条目的。 可以将它们插入和调用一个具有 属性,文本 字符串 属性,并且公式的 公式 属性。

lang=""> 

Dim Doc As Object Dim Sheet As Object Dim单元格对象 Doc=ThisComponent Sheet=Doc.Sheets(0) Cell=Sheet.getCellByPosition(0,0) Cell.value=100 Cell=Sheet.getCellByPosition(0,1) Cell.String="test" Cell=Sheet.getCellByPosition(0,2) Cell.formula="=A1" </source> 此示例在单元格A1到A3中分别插入了一个数字、一个词和一个公式。

Apache OpenOffice 将单元格内容,使用输入的 字符串 属性为文字,即使是数字。 数字在左-对齐的单元格而不是从右-对齐。 您还应注意区别文本之间和编号使用公式时:

lang=""> 

Dim Doc As Object Dim Sheet As Object Dim单元格对象 Doc=ThisComponent Sheet=Doc.Sheets(0) Cell=Sheet.getCellByPosition(0,0) Cell.value=100 Cell=Sheet.getCellByPosition(0,1) Cell.String=1000 Cell=Sheet.getCellByPosition(0,2) Cell.formula="相加" MsgBox Cell.value </source> 尽管单元格A1中含有的数值是100,单元格A2中含有的数值是1000,但是公式返回100。 这是因为内容的单元格A2中作为字串输入并不是数字。 要检查单元格内容是包含一个数字或一个字符串,请使用 类型 属性:

lang=""> 

Dim Doc As Object Dim Sheet As Object Dim单元格对象 Doc=ThisComponent Sheet=Doc.Sheets(0) Cell=Sheet.getCellByPosition(1,1) Cell.value=1000 Select Case MsgBox"内容:为空" MsgBox"内容:值" MsgBox"内容:text" MsgBox"内容:公式" End Select </source> } 属性将返回值/枚举标识内容类型的单元格。 可能的值包括:

插入、删除、复制和移动单元格

除了可以直接修改单元格的内容, Apache OpenOffice Calc还提供了一个接口,用于插入、删除、复制或合并单元格。 将用户界面(/),可通过电子表格对象并提供了四种方法来修改单元格的内容。 } insertCell 方法用于插入单元格的工作表。

lang=""> 

Dim Doc As Object Dim Sheet As Object Dim CellRangeAddress为新 Doc=ThisComponent Sheet=Doc.Sheets(0) Sheet.insertCells(CellRangeAddress,.CellInsertMode.DOWN) </source> 此示例在工作表文档中第一个工作表(编号为0)的第二列、第二行交叉处(行、列编号都为1)插入一个大小为两行乘两列的单元格区域。 现有的数值指定的单元格区域中移到区域之下。 要定义单元格区域中要插入,请使用/结构。 下面的值是包含在该结构:

工作表(短整数)
工作表编号(从0开始)。
StartColumn(长整数)
第一列的单元格区域(编号从0开始)。
StartRow(长整数)
第一行的单元格区域(编号从0开始)。
EndColumn(长整数)
最后"列中的单元格区域(编号从0开始)。
EndRow(长整数)
最后一行的单元格区域(编号从0开始)。 完成 CellRangeAddress 结构必须传递的第一个参数添加到 insertCells 方法。 第二个参数 insertCells 包含一个值,/枚举和定义如何处理方式的值都位于"前面的插入位置。 } 枚举可以识别以下值:
当前值保留在当前位置。
在单元格及插入位置向下移动。
在单元格和右侧的插入位置的右边。
之后的行插入位置向下移动。
之后的列插入位置的右边。 } removeRange 方法是对应 insertCells 方法。 此方法用于删除区域定义的 CellRangeAddress 结构从工作表。
lang=""> 

Dim Doc As Object Dim Sheet As Object Dim CellRangeAddress为新 Doc=ThisComponent Sheet=Doc.Sheets(0) Sheet.removeRange(CellRangeAddress,CellDeleteMode.UP) </source> 此示例删除了 b2:C3 单元格区域的工作表,然后将的单元格向上移动两行。 删除类型由以下某一值/枚举:

当前值保留在当前位置。
单元格及以下的插入位置向上移动。
在单元格和右侧的插入位置的左边。
之后的行插入位置向上移动。
之后的列插入位置的左边。 } 接口提供了两种其他方法来移动(moveRange)或复制(copyRange)Cell区域。 以下示例将移动的 b2:C3 区域,以使该区域从 a6:
lang=""> 

Dim Doc As Object Dim Sheet As Object Dim CellRangeAddress为新 Dim CellAddress作为新.table.CellAddress Doc=ThisComponent Sheet=Doc.Sheets(0) Sheet.moveRange(CellAddress、CellRangeAddress) </source> 除了 CellRangeAdress 结构中, 被moveRange 方法需要/结构来定义要来源移动到的目标区域。 } CellAddress 方法提供了以下值:

工作表(短整数)
工作表(编号从0开始)。
列(长整数)
已确定的列(编号从0开始)。
Row(长整数)
已确定的行编号(从0开始)。 将单元格内容与目标区域中的结果覆盖 moveRange 方法。 与 InsertCells 方法不同,参数执行自动移动中不提供了 removeRange 方法。 } copyRange 方法函数的相同, 被moveRange 方法相同, copyRange 的复制件插入单元格区域而不移动该。 Retrieved from "https://wiki.openoffice.org/w/index.php?title=G11ntest/Documentation/BASIC_Guide/Cells_and_Ranges&oldid=240791"
  • This page was last modified on 7 July 2018, at 07:39.
  • Privacy policy
  • About Apache OpenOffice Wiki
  • Disclaimers
  •