我需要在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
。我该怎么做呢?
发布于 2018-07-13 03:56:04
摘自Andrew Pitonyak, 2015的7.1.2节
单元格TextRange对象有一个TextTable属性和一个
属性。如果文本范围包含在文本表格单元格中,则这两个属性不为空。
以下是示例代码。
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
属性。
https://stackoverflow.com/questions/51312387
复制相似问题