如何使用 LibreOffice Basic 函数获取单元格的行号和列号
How to get the row and column number of a cell using a LibreOffice Basic function
我想编写一个 Libreoffice-Basic 函数,该函数考虑放置该函数的单元格的行和列。如果我可以定义一个函数,我想我的问题就会得到解决:
Function MyRowFun()
MyRowFun = ?????
End Function
复制内置函数ROW()
。换句话说,一旦我在任何给定单元格中键入 "=MyRowFun()"
,该单元格将显示与我键入 "=ROW()"
.
相同的内容
如果能得到对应的sheet名字就好了
非常感谢任何帮助,例如在线手册的指针。
PS: 找了很多时间,找到很多地方解释如何识别选区下的单元格,使用ThisComponent.CurrentSelection.AbsoluteName
,但我关心的是放置公式的单元格,而不是当前选定的单元格。
对于遇到此问题的任何其他人,@JohnSUN 在第一条评论中给出了解决方案:
If you know that SHEET(), ROW() and COLUMN() without parameters can return sheet-row-column numbers, then just pass them as parameters when calling your UDF.
发布者希望有不同类型的解决方案,但别无他法。
No SHEET(), ROW(), COLUMN()
Use Excel VBA Range. Just referring to itself. And without quotes.
C5: =UDF(Arg1;Agr2;C5)
________________________
Option VBASupport 1
Function UDF(Arg1, Arg2, Optional Caller)
If Not IsMissing(Caller) Then
sCallerName = Caller.CellRange.AbsoluteName
Print sCallerName
End If
End Function
我想编写一个 Libreoffice-Basic 函数,该函数考虑放置该函数的单元格的行和列。如果我可以定义一个函数,我想我的问题就会得到解决:
Function MyRowFun()
MyRowFun = ?????
End Function
复制内置函数ROW()
。换句话说,一旦我在任何给定单元格中键入 "=MyRowFun()"
,该单元格将显示与我键入 "=ROW()"
.
如果能得到对应的sheet名字就好了
非常感谢任何帮助,例如在线手册的指针。
PS: 找了很多时间,找到很多地方解释如何识别选区下的单元格,使用ThisComponent.CurrentSelection.AbsoluteName
,但我关心的是放置公式的单元格,而不是当前选定的单元格。
对于遇到此问题的任何其他人,@JohnSUN 在第一条评论中给出了解决方案:
If you know that SHEET(), ROW() and COLUMN() without parameters can return sheet-row-column numbers, then just pass them as parameters when calling your UDF.
发布者希望有不同类型的解决方案,但别无他法。
No SHEET(), ROW(), COLUMN()
Use Excel VBA Range. Just referring to itself. And without quotes.
C5: =UDF(Arg1;Agr2;C5)
________________________
Option VBASupport 1
Function UDF(Arg1, Arg2, Optional Caller)
If Not IsMissing(Caller) Then
sCallerName = Caller.CellRange.AbsoluteName
Print sCallerName
End If
End Function