Показать сообщение отдельно
Старый 20.05.2014, 18:36   #2  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,711 / 1201 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
"На вскидку" метод EntireRow относится к активному в данный момент листу Excel (SpreadSheet). Но вновь созданный лист не является активным. Его надо либо активизировать принудительно, либо вместо метода EntireRow использовать явное указание строки через Rows().

либо так
X++:
sheet.copy( sheet );
newsheet    = worksheets.Item(1); 
newsheet.select(); // Принудительно активируем лист для корректной работы EntireRow
либо так
X++:
    //копируем нужный формат
    newRows = rows.Item( strfmt("10:%1", NumRows + curRow) ); //куда будем копировать форматирование
//    rows = range.EntireRow(); //откуда будем копировать форматирование
    rows = rows.Item( strfmt("%1:%2", curRow, curRow) ); //откуда будем копировать форматирование

    rows.copy( newRows );
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...