从libreoffice calc basic中的“ ThisComponent.CurrentSelection”获取行和列号

问题描述 投票:0回答:1

我有此代码,可以在其中获取当前选定的单元格并使用它来修改其值:

theSelection = ThisComponent.CurrentSelection
theSelection.setString("some value")

现在,我想移到右边的下一列,如果是Microsoft excel VBA,我可以只使用theSelection.Offset(0,1)之类的东西,但事实并非如此。因此,我当然在做一些解决方法:

nextCell = oActiveSheet.getCellByPosition( ???currentColumn + 1, ???currentRow)
ThisComponent.CurrentController.select( nextCell )

我只想知道将这些???替换为theSelection var的实际值以移至右侧下一列的最简单方法。

我也尝试过:

nextCell = oActiveSheet.getCellByPosition( column() + 1, row())

但是我不知道为什么无论column() = 1的值是什么,它总是总是返回row() = 1CurrentSelection。预先感谢您的帮助。

libreoffice basic libreoffice-calc
1个回答
0
投票
获取单元格地址。

Sub ChangeAndThenGoToCellToRightOfSelection oActiveSheet = ThisComponent.getCurrentController().getActiveSheet() oSels = ThisComponent.getCurrentSelection() If oSels.supportsService("com.sun.star.sheet.SheetCell") Then 'A single cell is selected. oSels.setString("some value") address = oSels.getCellAddress() nextCell = oActiveSheet.getCellByPosition(address.Column + 1, address.Row) ThisComponent.CurrentController.select(nextCell) End If End Sub

要查看对象可以做什么,请使用内省工具,例如XrayTool或MRI。    
© www.soinside.com 2019 - 2024. All rights reserved.