我理解Excel有一个TEXTJOIN
函数,允许人们将多个值显示为元组。
我也理解自由办公室 - 无论出于何种原因 - 没有它们。
如何编写一个为我生成所需元组表示的辅助宏vec
?
E.g。 =vec(A1)
应生成="("&A1&")"
,
=vec(A1:A3)
应生成="("&A1&","&A2&","&A3&")"
,
=vec(A1,X5:X99,Z3)
应该会产生="("&A1&","&"X5"&","&X6&...&x99&","&Z3&")"
等等。
很容易在bash中实现一个宏,但是我想先定义一次然后在calc中使用它,而不是经常从控制台复制到电子表格。
我如何在calc中实现它?
答案 0 :(得分:0)
根据https://forum.openoffice.org/en/forum/viewtopic.php?f=45&t=67880,如果使用Option Compatible
声明,则Basic函数可以使用可变数量的参数。这使它的行为更像MS Excel。参数声明为ParamArray pa()
。
@tohuwawohu发布的链接显示了所需的大部分实施细节。
要以LibreOffice更为原生的方式执行此操作,请使用使用any[]
作为参数的Java声明编写电子表格插件。有关加载项参数类型的信息,请参阅https://www.openoffice.org/api/docs/common/ref/com/sun/star/sheet/AddIn.html。
实际功能也可以用Java实现。或者,它可以用另一种接受可变数量参数的语言实现,例如Python *args
。