如何使用 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