首页 文章

LibreOffice Writer:获取下一个单元格的内容到找到的单元格

提问于
浏览
1

我需要在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

现在我需要获取正确单元格的内容 . 据我所知, oFoundXTextRange 的对象,我需要 XCellRange 的行和列参数 . 我该怎么做呢?

1 回答

  • 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 属性 .

相关问题