Vba 从LibreOffice Calc中的单元格名称获取行和列索引
我有一个单元格名作为变量中的值。 示例:Vba 从LibreOffice Calc中的单元格名称获取行和列索引,vba,row,libreoffice-calc,Vba,Row,Libreoffice Calc,我有一个单元格名作为变量中的值。 示例:myCellName=“C9” 我需要一个单独变量中该单元格的行和列索引。 例如: rowIndex=myCellName.getRow()3 columnIndex=myCellName.getColumn()9 首先:在你的问题中,你弄乱了行和列C9是第三列的列C和第九行的行9 第二:对于Liberoffice和Openoffice,列和行号基于0。第三列是第2列,第九行是第8行 要从单元格名称中获取列号和行号,可以使用getcellRangeByN
myCellName=“C9”
我需要一个单独变量中该单元格的行和列索引。
例如:
- rowIndex=
myCellName.getRow()
3
- columnIndex=
myCellName.getColumn()
9
C9
是第三列的列C
和第九行的行9
第二:对于Liberoffice和Openoffice,列和行号基于0。第三列是第2列,第九行是第8行
要从单元格名称中获取列号和行号,可以使用getcellRangeByName
,请参阅,然后使用getCellAddress
从该Range
对象中获取CellAddress
,请参阅
示例:
首先,我们使用现有的Calc文档和现有的工作表
Sub Test1
myCellName = "C9"
oRange = ThisComponent.Sheets(0).getCellRangeByName(myCellName)
oCellAddress = oRange.getCellAddress()
msgbox oCellAddress.Row '8
msgbox oCellAddress.Column '2
End Sub
可能我们没有一个包含现有工作表的现有计算文档,那么我们可以先创建一些:
Sub Test2
myCellName = "C9"
oDoc = CreateUnoService("com.sun.star.sheet.SpreadsheetDocument")
oSheet = oDoc.createInstance("com.sun.star.sheet.Spreadsheet")
oDoc.Sheets.insertByName("MySheet", oSheet)
oRange = oSheet.getCellRangeByName(myCellName)
oCellAddress = oRange.getCellAddress()
msgbox oCellAddress.Row '8
msgbox oCellAddress.Column '2
oCellAddress = Nothing
oRange = Nothing
oSheet = Nothing
oDoc = Nothing
End Sub