我需要在Writer表中找到一些文本,然后将找到的文本的单元格内容放到变量中。使用此代码成功找到了文本:
Sub get_contr_num
dim oDoc as Object
dim oFound as Object
dim oDescriptor
dim oCursor as Object
oDoc = ThisComponent
oDescriptor = oDoc.createSearchDescriptor()
oDescriptor.SearchString = "Contract *No"
oDescriptor.SearchRegularExpression = true
oFound=oDoc.FindFirst(oDescriptor)
End Sub
现在,我需要获取正确单元格的内容。据我了解,oFound
是XTextRange
的对象,我需要XCellRange
带有行和列参数。我该怎么做?
答案 0 :(得分:1)
来自Andrew Pitonyak, 2015的7.1.2节:
TextRange对象具有TextTable属性和Cell属性。 如果文本范围包含在 文本表格单元格。
这是示例代码。
cellname_found = oFound.Cell.CellName
cellname_right = Chr(Asc(Left(cellname_found, 1))+1) & Right(cellname_found, 1)
oTable = oFound.TextTable
oCell_right = oTable.getCellByName(cellname_right)
如果CellProperties给出行号和列号而不是名称,会更容易。显然,它不是,因此有必要使用string manipulation来解析CellName
属性。