1

有人可以告诉我如何在 Open Office Basic 中编写自定义函数以在 Open Office Calc 中使用并返回一组值。一个这样的内置函数的示例是 MINVERSE。我需要编写一个自定义函数,以几乎相同的方式填充一系列单元格。帮助将不胜感激。

4

2 回答 2

1

是的,我刚刚想通了:你所做的就是从你的宏中返回一个数组,但是你还必须Ctrl+Shift+Enter在输入单元格公式时按下以调用你的函数(在 calc 中使用其他数组时也是如此)。这是一个例子:

Function MakeArray
  Dim ret(2,2)
  ret(0,0) = 1
  ret(1,0) = 2
  ret(0,1) = 3
  ret(1,1) = 4
  MakeArray = ret
End Function
于 2011-07-18T08:58:51.103 回答
0

FWIW,我认为 damjan 的 MakeArray 函数返回一个包含数组的 Variant。(MakeArray 返回的类型未指定,因此默认为 Variant。Variant 是具有描述性标题的容器,显然是解释器根据需要进行转换的。)

与返回数组几乎但不完全一样。根据http://www.cpearson.com/excel/passingandreturningarrays.htm,微软直到 2000 年才引入返回数组的能力。他的示例 [ LoadNumbers(Low As Long, High As Long) As Long()] 确实未在 OO 中编译,在 Long 后面的括号上标记语法错误。OO 的 Basic 似乎模拟了 2k 之前的 VBA。

于 2013-05-22T23:37:21.733 回答