如何使用LibreOffice Basic函数获取单元格的行和列号

问题描述

我想编写一个Libreoffice-Basic函数,该函数考虑了放置该函数的单元格的行和列。我想如果可以定义一个函数,就可以解决我的问题:

Function MyRowFun()
    MyRowFun = ?????
End Function

复制内置函数ROW()。换句话说,一旦我在任何给定的单元格中键入"=MyRowFun()",该单元格将显示与键入"=ROW()"相同的结果。

能够获得相应的工作表名称也很不错。

非常感谢您的帮助,例如在线手册的指针。


PS:在花费大量时间进行搜索之后,我发现了很多地方来说明如何使用ThisComponent.CurrentSelection.AbsoluteName来识别所选内容下的单元格,但是我很关心放置公式的单元格,而不是当前选择的单元格。

解决方法

对于遇到此问题的其他人,@ JohnSUN在第一条评论中给出了解决方案:

如果您知道不带参数的SHEET(),ROW()和COLUMN()可以返回工作表-行-列号,那么只需在调用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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...