Как получить значения диапазона Lotus в массив - PullRequest
0 голосов
/ 02 июля 2018

Есть ли в 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 в массив?

1 Ответ

0 голосов
/ 02 июля 2018

Найдено в файлах справки: Range.GetCellData method.

Получает данные в диапазоне, называемом набором указателей на содержимое отдельных ячеек. Этот метод выделяет память для копирования содержимого диапазона, устанавливает значения в памяти и возвращает указатель массива, который может использоваться внешней программой на Си.

Синтаксис

arraypointer = range.GetCellData (celldatatype)

Параметры Тип данных

Variant (перечисление CellDataType). Формат для возвращаемых данных ячейки. В следующей таблице перечислены допустимые значения для этого параметра.

Значение и описание

  • $ CellValue Возвращает указатель на массив строк. Строки содержат отформатированные значения, которые оценивают ячейки. Пустые ячейки приводят к пустым указателям.
  • $ FormulaContents Возвращает указатель на массив строк. Это похоже на $ CellValue, за исключением строк - это содержимое ячеек формулы (например, "+ A1 + @ SUM (B1)"). Все остальные типы ячеек приводят к указателям NULL.
  • $ Double Возвращает указатель на массив значений типа double. Пустые ячейки и метки возвращаются как ноль. NA и ERR кодируются как недопустимые числа.

Возвращаемые значения:

Long. Указатель на массив указателей, по одному для каждой ячейки в диапазоне. Массив упорядочен по строке / столбцу / листу. Например, массив, представляющий диапазон [A: A1..B: B2], будет дан в следующем порядке: A: A1, A: A2, A: B1, A: B2, B: A1, B: A2, B: B1, B: B2.

Использование

Этот метод выделяет память для возвращаемого массива внутри, и вызывающая сторона должна освободить эту память.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...