ActiveCell.Offset для libreoffice

Как я могу получить доступ к соседней выбранной ячейке в LibreOffice (OpenOffice)?

Я могу получить только выбранную ячейку с помощью «ThisComponent.getCurrentSelection».

Мне просто нужна альтернатива для функции MS Excel VBA "ActiveCell.Offset".


person user31651    schedule 16.07.2016    source источник


Ответы (1)


Мне это кажется довольно простым:

Function OffsetCell(col_offset, row_offset)
    oSel = ThisComponent.getCurrentSelection()
    oCellAddress = oSel.getCellByPosition(0, 0).getCellAddress()
    oSheet = ThisComponent.CurrentController.ActiveSheet()
    OffsetCell = oSheet.getCellByPosition( _
        oCellAddress.Column + col_offset, _
        oCellAddress.Row + row_offset)
End Function

Например, эту функцию можно использовать так:

Sub DisplayOffsetCell()
    offset_cell = OffsetCell(2, 1)
    MsgBox(offset_cell.getString())
End Sub

По непонятным мне причинам на эту тему было довольно много дискуссий, и было предложено несколько комплексных решений:

person Jim K    schedule 17.07.2016