我正在阅读OpenOffice regarding arrays上的文档,似乎Calc
能够像Excel
那样使用数组函数。
为了测试这个,我创建了一个应该返回数组{1, 2, 3}
的简单函数:
Function Test()
Dim Test(3) As Variant
Test(1) = 1
Test(2) = 2
Test(3) = 3
End Function
当我使用=Test()
填充单元格并按Ctrl+Shift+Enter
时,我会在其中找到一个包含3
的单元格。 1
和2
在哪里?我做错了什么?
我正在运行OpenOffice 4.1.1
。
答案 0 :(得分:3)
函数返回类型的标注必须在Function
语句中完成。如果函数返回一个数组,则其大小必须为Variant
。在starbasic中没有办法直接将函数作为数组类型进行维度。数组本身可以在函数体中单独创建,然后作为返回值分配给函数。
像这样:
Function Test() as Variant
Dim arr_Test(1 to 3) As Integer
arr_Test(1) = 1
arr_Test(2) = 2
arr_Test(3) = 3
Test = arr_Test
End Function
或者如果你想缩短它,可以使用内置的Array
函数返回包含数组的Variant
。
像这样:
Function Test2() as Variant
Test2 = Array(1,2,3)
End Function
openoffice- / libreoffice- / -BASIC编程的文档:
https://wiki.openoffice.org/wiki/Documentation/BASIC_Guide
https://wiki.openoffice.org/wiki/Documentation/DevGuide/OpenOffice.org_Developers_Guide - > https://wiki.openoffice.org/wiki/Documentation/DevGuide/Basic/OpenOffice.org_Basic
但两者都没有完全引用BASIC基础知识;-),例如所有内置函数的引用。
https://help.libreoffice.org/Basic/Basic_Help - > https://help.libreoffice.org/Basic/Run-Time_Functions 似乎几乎完全。