|
![]() |
#1 |
Moderator
|
Цитата:
Сообщение от Poleax
![]() X++: range = xlApp.Range('test'); n=doc.getCellName_RowNum("test"); range1 = range; for (i=1;i<=10;i++) { // в цикле только пишем значения, не форматируем // адрес не зависит от счетчика цикла doc.insertRow(n,1,i); doc.insertValue( range1.Address(), i); range1 = range1.Offset(1,0); } ![]() X++: range = xlApp.Range('test'); //n=doc.getCellName_RowNum("test"); n = range.Row(); // раз уж переменную range определили, то чего так далеко за строкой лазить :) for (i=1;i<=10;i++) { // поменял операции местами для удобства понимания: // т.е. сначала записываем значение, а потом добавляем строку ниже doc.insertValue(any2str(COM::createFromVariant(range.Item(i, 1)).Address()), i); doc.insertRow(n, 1, i); } // удаляем последнюю строку - она всегда лишняя (здесь i=11) doc.deleteRow(any2int(COM::createFromVariant(range.Item(i, 1)).Row())); // после цикла ячейка test так и остается первой (верхней) ячейкой обработанного диапазона |
|