Lotus 123中是否有一种快速方法可以将范围内的所有单元格值都放入数组。我正在寻找类似于Excel VBA的东西,它的速度非常快。
Dim arrValues() As Variant
arrValues = rg.Value
生成的数组也可以被操纵并放回表中;就我而言,我想将其放入Excel。基本上取代复制和粘贴。在内存中的数组上进行操作要比一次处理一个单元快得多。
我知道如何通过一次读取一个单元格来做到这一点,但是我正在寻找一种类似于Excel的更快方法。
'Lotus Script
Dim r As Range
Set r = CurrentDocument.Ranges("A:A1..A:D4")
Dim x, y As Integer
For x = 0 To 3
For y = 0 To 3
Print (r.Cell(x, y).cellvalue)
Next
Next
请注意,我不是特别用VBA进行标记,因为只有知道Lotus Script的人才能回答。这与VBA无关。
如何将Lotus 123范围值放入数组中?
答案 0 :(得分:0)
在帮助文件:Range.GetCellData
方法中发现了这一点。
获取一个范围内的数据,该数据被引用为指向单个单元格内容的一组指针。此方法分配内存以复制范围的内容,在内存中设置值,并返回可由外部C程序使用的数组指针。
语法
arraypointer = range.GetCellData(celldatatype)
参数单元格数据类型
Variant(CellDataType枚举)。返回的单元格数据的格式。下表列出了此参数的允许值。
值和说明
返回值:
长。指向指针数组的指针,范围内的每个单元格一个。数组按行/列/表排序。例如,代表范围[A:A1..B:B2]的数组将以以下顺序给出:A:A1,A:A2,A:B1,A:B2,B:A1,B:A2,B: B1,B:B2。
用法
此方法在内部为返回的数组分配内存,并且调用方必须释放该内存。