Форум: "Начинающим";
Текущий архив: 2006.10.08;
Скачать: [xml.tar.bz2];
ВнизОтчет в Excel Найти похожие ветки
← →
ян (2006-09-22 13:17) [0]Всем Добрый день!
Ситуация такая, делаю отчет в Excel, есть готовый шаблон,
к ячейкам доступ получаю так
E.Application.Cells(15,1) := "s";
проблема в том что в каждую ячейку запись происходит примерно
за секунду!!!
но шаблон довольно сложный!!
есть ли какой способ ускорить эту процедуру?
← →
Сергей М. © (2006-09-22 13:20) [1]Есть.
var
MyVar: Variant;
...
MyVar := VarArrayOf(...); //или VarArrayCreate(..)
E.Application.Range[..].Value := MyVar
← →
ян (2006-09-22 13:27) [2]MyVar := VarArrayOf(...); //или VarArrayCreate(..)
А что в скобках должно быть?:)
← →
alex_*** © (2006-09-22 13:42) [3]код для создания 2 мерного массива
← →
Сергей М. © (2006-09-22 14:14) [4]
> alex_*** © (22.09.06 13:42) [3]
VarArrayOf(...) создает одномерный массив, в отличие от VarArrayCreate(..), которая создает массив произвольной размерности.
Выбор той или иной ф-ции зависит от конкретной задачи, требующей конкретной размерности массива ячеек.
← →
ян (2006-09-22 16:01) [5]Как я понял надо написать такой код:
MyVar := VarArrayCreate([0,165],varVariant);//
for n:=0 to 165 do
begin
MyVar[n] := VarArrayOf([" ",30,TRue]);
end;
E.Application.Range["A1:DA30"].Value := MyVar;
165 на 30 это насколько я поня размер области в Excel...
Так?
Все равно быстрее не работает...
← →
Сергей М. © (2006-09-22 16:04) [6]
> 165 на 30
Ну и где ты обозначил именно такую размерность ?
← →
ян (2006-09-22 16:12) [7]166 на 30
MyVar := VarArrayCreate([0,165],varVariant);
for n:=0 to 165 do
begin
MyVar[n] := VarArrayOf([" ",30,TRue]);
end;
MyVar - массив из 166 элементов,
каждые элемент которого - массив из 30 элементов...только тип не понятно
как определить
Не так?
← →
Сергей М. © (2006-09-22 16:28) [8]
> каждые элемент которого - массив из 30 элементов
Где ты это обозначил ?
MyVar := VarArrayCreate([0,164, 0, 29],varVariant);
В этом примере создается двумерный массив вариантов размерностью 165 х 30.
Сравни со своим кодом и сделай выводы ...
← →
ян (2006-09-22 17:26) [9]Так, двумерный массив я объявлять научился!
Идея состоит в том, чтобы данные записать вначале в массив, а потом
уже из массыва в Excel?
так лучше получается:))
но в шаблоне пропадают много(именно не все, а много) ячеек с текстом!
т. е. можно ли перед запуском программы выгрузить все значения
из шаблона в массив, сделать изменения, а потом уже обратно?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.10.08;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.037 c