Я так понимаю, что никак, потому что xlReadMatrixFromExcel и ReadFromMatrix используют свой массив, не связанный с созданным для записи

Модераторы: m0p3e, edward_K, Модераторы
Код: Выделить всё
Function tExporter.ReadFromMatrix;
begin
Result := false;
try
Result := ReadFromMatrixEx(MatrixForReadID,Row,Col,Value);
except
LogOnExcept('ReadFromMatrix');
LastError := cgxlErrReadFromMatrix;
end
end;
Код: Выделить всё
Begin
var MyMatrix1, MyMatrix2
MyMatrix1 := xlCreateMatrixEx(10,10);
MyMatrix2 := xlCreateMatrixEx(15;15);
xlStWriteToMatrixEx(MyMatrix1,1,1,String);
xlDoWriteToMatrixEx(MyMatrix1,2,1,Value);
xlReadMatrixFromExcelEx(MyMatrix2,10,10,25,25);
End
Код: Выделить всё
// методы работы с коллекцией вариантных массивов (позволяет на порядок увеличить скорость обмена данными между приложением и Excel и даёт возможность вывода несколько вариантных массивов)
Function CreateMatrixEx(Rows, Cols : longint) : LongInt;
Function FreeMatrixEx(ID : Longint ) : boolean;
Function ClearMatrixEx(ID : Longint ): boolean;
Function WriteToMatrixEx(ID, Row, Col : longint; Value : variant) : boolean;
Function WriteDateToMatrixEx(ID, Row, Col : longint; Year, Month, Day : word) : boolean;
Function ReadFromMatrixEx(ID, Row, Col : longint; var Value : variant) : boolean;
Function WriteMatrixToExcelEx(ID : Longint; RowU : longint = 0; ColL : longint = 0) : boolean;
Function ReadMatrixFromExcelEx(ID : LongInt; RowU : longint = 0; ColL : longint = 0; RowD : longint = 0; ColR : longint = 0) : boolean;
Код: Выделить всё
library ExcelLib;
---------------------
CreateMatrixEx name 'XLCREATEMATRIXEX',
ClearMatrixEx name 'XLCLEARMATRIXEX',
FreeMatrixEx name 'XLFREEMATRIXEX',
WriteToMatrixEx name 'XLWRITETOMATRIXEX',
WriteDateToMatrixEx name 'XLWRITEDATETOMATRIXEX',
ReadFromMatrixEx name 'XLREADFROMMATRIXEX',
WriteMatrixToExcelEx name 'XLWRITEMATRIXTOEXCELEX',
ReadMatrixFromExcelEx name 'XLREADMATRIXFROMEXCELEX',
---------------------